PROC_TGID_WCHAN,
#ifdef CONFIG_MMU
PROC_TGID_CLEAR_REFS,
+#ifdef CONFIG_PROC_SMAPS
PROC_TGID_SMAPS,
#endif
+#endif
#ifdef CONFIG_SCHEDSTATS
PROC_TGID_SCHEDSTAT,
#endif
PROC_TID_WCHAN,
#ifdef CONFIG_MMU
PROC_TID_CLEAR_REFS,
+#ifdef CONFIG_PROC_SMAPS
PROC_TID_SMAPS,
#endif
+#endif
#ifdef CONFIG_SCHEDSTATS
PROC_TID_SCHEDSTAT,
#endif
E(PROC_TGID_MOUNTSTATS, "mountstats", S_IFREG|S_IRUSR),
#ifdef CONFIG_MMU
E(PROC_TGID_CLEAR_REFS, "clear_refs", S_IFREG|S_IWUSR),
+#ifdef CONFIG_PROC_SMAPS
E(PROC_TGID_SMAPS, "smaps", S_IFREG|S_IRUSR),
#endif
+#endif
#ifdef CONFIG_SECURITY
E(PROC_TGID_ATTR, "attr", S_IFDIR|S_IRUGO|S_IXUGO),
#endif
E(PROC_TID_MOUNTS, "mounts", S_IFREG|S_IRUGO),
#ifdef CONFIG_MMU
E(PROC_TID_CLEAR_REFS, "clear_refs", S_IFREG|S_IWUSR),
+#ifdef CONFIG_PROC_SMAPS
E(PROC_TID_SMAPS, "smaps", S_IFREG|S_IRUSR),
#endif
+#endif
#ifdef CONFIG_SECURITY
E(PROC_TID_ATTR, "attr", S_IFDIR|S_IRUGO|S_IXUGO),
#endif
case PROC_TGID_CLEAR_REFS:
inode->i_fop = &proc_clear_refs_operations;
break;
+#ifdef CONFIG_PROC_SMAPS
case PROC_TID_SMAPS:
case PROC_TGID_SMAPS:
inode->i_fop = &proc_smaps_operations;
break;
+#endif
#endif
case PROC_TID_MOUNTSTATS:
case PROC_TGID_MOUNTSTATS:
.release = seq_release_private,
};
+#ifdef CONFIG_PROC_SMAPS
struct mem_size_stats
{
struct vm_area_struct *vma;
.llseek = seq_lseek,
.release = seq_release_private,
};
+#endif
static int clear_refs_pte_range(pmd_t *pmd, unsigned long addr,
unsigned long end, void *private)
option allows the disabling of the VM event counters.
/proc/vmstat will only show page counts.
+config PROC_SMAPS
+ default y
+ bool "Enable /proc/pid/smaps support" if EMBEDDED && PROC_FS && MMU
+ help
+ The /proc/pid/smaps interface reports a process's private and
+ shared memory per mapping. Disabling this interface will reduce
+ the size of the kernel for small machines.
+
endmenu # General setup
config RT_MUTEXES