Commit ff7ea79c authored by Nishanth Aravamudan's avatar Nishanth Aravamudan Committed by Linus Torvalds

mm: create /sys/kernel/mm

Add a kobject to create /sys/kernel/mm when sysfs is mounted.  The kobject
will exist regardless.  This will allow for the hugepage related sysfs
directories to exist under the mm "subsystem" directory.  Add an ABI file
appropriately.

[kosaki.motohiro@jp.fujitsu.com: fix build]
Signed-off-by: default avatarNishanth Aravamudan <nacc@us.ibm.com>
Cc: Nick Piggin <nickpiggin@yahoo.com.au>
Cc: Mel Gorman <mel@csn.ul.ie>
Signed-off-by: default avatarKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 5e9426ab
What: /sys/kernel/mm
Date: July 2008
Contact: Nishanth Aravamudan <nacc@us.ibm.com>, VM maintainers
Description:
/sys/kernel/mm/ should contain any and all VM
related information in /sys/kernel/.
...@@ -186,6 +186,8 @@ extern struct kobject *kset_find_obj(struct kset *, const char *); ...@@ -186,6 +186,8 @@ extern struct kobject *kset_find_obj(struct kset *, const char *);
/* The global /sys/kernel/ kobject for people to chain off of */ /* The global /sys/kernel/ kobject for people to chain off of */
extern struct kobject *kernel_kobj; extern struct kobject *kernel_kobj;
/* The global /sys/kernel/mm/ kobject for people to chain off of */
extern struct kobject *mm_kobj;
/* The global /sys/hypervisor/ kobject for people to chain off of */ /* The global /sys/hypervisor/ kobject for people to chain off of */
extern struct kobject *hypervisor_kobj; extern struct kobject *hypervisor_kobj;
/* The global /sys/power/ kobject for people to chain off of */ /* The global /sys/power/ kobject for people to chain off of */
......
...@@ -7,6 +7,8 @@ ...@@ -7,6 +7,8 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/kobject.h>
#include <linux/module.h>
#include "internal.h" #include "internal.h"
#ifdef CONFIG_DEBUG_MEMORY_INIT #ifdef CONFIG_DEBUG_MEMORY_INIT
...@@ -134,3 +136,17 @@ static __init int set_mminit_loglevel(char *str) ...@@ -134,3 +136,17 @@ static __init int set_mminit_loglevel(char *str)
} }
early_param("mminit_loglevel", set_mminit_loglevel); early_param("mminit_loglevel", set_mminit_loglevel);
#endif /* CONFIG_DEBUG_MEMORY_INIT */ #endif /* CONFIG_DEBUG_MEMORY_INIT */
struct kobject *mm_kobj;
EXPORT_SYMBOL_GPL(mm_kobj);
static int __init mm_sysfs_init(void)
{
mm_kobj = kobject_create_and_add("mm", kernel_kobj);
if (!mm_kobj)
return -ENOMEM;
return 0;
}
__initcall(mm_sysfs_init);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment