sched: Display autogroup names in /proc/sched_debug
authorBharata B Rao <bharata@linux.vnet.ibm.com>
Tue, 11 Jan 2011 10:12:57 +0000 (15:42 +0530)
committerIngo Molnar <mingo@elte.hu>
Tue, 18 Jan 2011 14:09:40 +0000 (15:09 +0100)
Add autogroup name to cfs_rq and tasks information to /proc/sched_debug.

Signed-off-by: Bharata B Rao <bharata@linux.vnet.ibm.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
LKML-Reference: <20110111101257.GF4772@in.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/sched_autogroup.c
kernel/sched_debug.c

index 32a723b..938d52f 100644 (file)
@@ -231,6 +231,11 @@ void proc_sched_autogroup_show_task(struct task_struct *p, struct seq_file *m)
 #ifdef CONFIG_SCHED_DEBUG
 static inline int autogroup_path(struct task_group *tg, char *buf, int buflen)
 {
+       int enabled = ACCESS_ONCE(sysctl_sched_autogroup_enabled);
+
+       if (!enabled || !tg->autogroup)
+               return 0;
+
        return snprintf(buf, buflen, "%s-%ld", "/autogroup", tg->autogroup->id);
 }
 #endif /* CONFIG_SCHED_DEBUG */
index 4d36f37..e4d3725 100644 (file)
@@ -93,6 +93,9 @@ static char group_path[PATH_MAX];
 
 static char *task_group_path(struct task_group *tg)
 {
+       if (autogroup_path(tg, group_path, PATH_MAX))
+               return group_path;
+
        /*
         * May be NULL if the underlying cgroup isn't fully-created yet
         */