]> err.no Git - linux-2.6/blobdiff - fs/proc/proc_misc.c
slub: register slabinfo to procfs
[linux-2.6] / fs / proc / proc_misc.c
index e0d064e9764ef55422cf79119b7624b3e6b87373..a11968bc05161a7c659fd482d7c5fd62e3edd37d 100644 (file)
@@ -451,6 +451,20 @@ static const struct file_operations proc_slabstats_operations = {
 #endif
 #endif
 
+#ifdef CONFIG_SLUB
+static int slabinfo_open(struct inode *inode, struct file *file)
+{
+       return seq_open(file, &slabinfo_op);
+}
+
+static const struct file_operations proc_slabinfo_operations = {
+       .open           = slabinfo_open,
+       .read           = seq_read,
+       .llseek         = seq_lseek,
+       .release        = seq_release,
+};
+#endif
+
 static int show_stat(struct seq_file *p, void *v)
 {
        int i;
@@ -733,6 +747,9 @@ void __init proc_misc_init(void)
 #ifdef CONFIG_DEBUG_SLAB_LEAK
        create_seq_entry("slab_allocators", 0 ,&proc_slabstats_operations);
 #endif
+#endif
+#ifdef CONFIG_SLUB
+       create_seq_entry("slabinfo", S_IWUSR|S_IRUGO, &proc_slabinfo_operations);
 #endif
        create_seq_entry("buddyinfo",S_IRUGO, &fragmentation_file_operations);
        create_seq_entry("pagetypeinfo", S_IRUGO, &pagetypeinfo_file_ops);