aboutsummaryrefslogtreecommitdiffstats
path: root/fs
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@woody.linux-foundation.org>2008-01-02 16:04:48 -0500
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2008-01-02 16:04:48 -0500
commit158a962422e4a54dc256b6a9b9562f3d30d34d9c (patch)
tree21a71d7d671d12388f4b085e31b0258d1047f125 /fs
parent6b6adc22a01941165d5af9a3e69e28e948b28f47 (diff)
Unify /proc/slabinfo configuration
Both SLUB and SLAB really did almost exactly the same thing for /proc/slabinfo setup, using duplicate code and per-allocator #ifdef's. This just creates a common CONFIG_SLABINFO that is enabled by both SLUB and SLAB, and shares all the setup code. Maybe SLOB will want this some day too. Reviewed-by: Pekka Enberg <penberg@cs.helsinki.fi> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'fs')
-rw-r--r--fs/proc/proc_misc.c21
1 files changed, 2 insertions, 19 deletions
diff --git a/fs/proc/proc_misc.c b/fs/proc/proc_misc.c
index a11968bc0516..3462bfde89f6 100644
--- a/fs/proc/proc_misc.c
+++ b/fs/proc/proc_misc.c
@@ -410,7 +410,7 @@ static const struct file_operations proc_modules_operations = {
410}; 410};
411#endif 411#endif
412 412
413#ifdef CONFIG_SLAB 413#ifdef CONFIG_SLABINFO
414static int slabinfo_open(struct inode *inode, struct file *file) 414static int slabinfo_open(struct inode *inode, struct file *file)
415{ 415{
416 return seq_open(file, &slabinfo_op); 416 return seq_open(file, &slabinfo_op);
@@ -451,20 +451,6 @@ static const struct file_operations proc_slabstats_operations = {
451#endif 451#endif
452#endif 452#endif
453 453
454#ifdef CONFIG_SLUB
455static int slabinfo_open(struct inode *inode, struct file *file)
456{
457 return seq_open(file, &slabinfo_op);
458}
459
460static const struct file_operations proc_slabinfo_operations = {
461 .open = slabinfo_open,
462 .read = seq_read,
463 .llseek = seq_lseek,
464 .release = seq_release,
465};
466#endif
467
468static int show_stat(struct seq_file *p, void *v) 454static int show_stat(struct seq_file *p, void *v)
469{ 455{
470 int i; 456 int i;
@@ -742,15 +728,12 @@ void __init proc_misc_init(void)
742#endif 728#endif
743 create_seq_entry("stat", 0, &proc_stat_operations); 729 create_seq_entry("stat", 0, &proc_stat_operations);
744 create_seq_entry("interrupts", 0, &proc_interrupts_operations); 730 create_seq_entry("interrupts", 0, &proc_interrupts_operations);
745#ifdef CONFIG_SLAB 731#ifdef CONFIG_SLABINFO
746 create_seq_entry("slabinfo",S_IWUSR|S_IRUGO,&proc_slabinfo_operations); 732 create_seq_entry("slabinfo",S_IWUSR|S_IRUGO,&proc_slabinfo_operations);
747#ifdef CONFIG_DEBUG_SLAB_LEAK 733#ifdef CONFIG_DEBUG_SLAB_LEAK
748 create_seq_entry("slab_allocators", 0 ,&proc_slabstats_operations); 734 create_seq_entry("slab_allocators", 0 ,&proc_slabstats_operations);
749#endif 735#endif
750#endif 736#endif
751#ifdef CONFIG_SLUB
752 create_seq_entry("slabinfo", S_IWUSR|S_IRUGO, &proc_slabinfo_operations);
753#endif
754 create_seq_entry("buddyinfo",S_IRUGO, &fragmentation_file_operations); 737 create_seq_entry("buddyinfo",S_IRUGO, &fragmentation_file_operations);
755 create_seq_entry("pagetypeinfo", S_IRUGO, &pagetypeinfo_file_ops); 738 create_seq_entry("pagetypeinfo", S_IRUGO, &pagetypeinfo_file_ops);
756 create_seq_entry("vmstat",S_IRUGO, &proc_vmstat_file_operations); 739 create_seq_entry("vmstat",S_IRUGO, &proc_vmstat_file_operations);