aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/sched_autogroup.h
diff options
context:
space:
mode:
authorYong Zhang <yong.zhang0@gmail.com>2011-06-27 22:51:31 -0400
committerIngo Molnar <mingo@elte.hu>2011-07-01 04:39:08 -0400
commit1c09ab0d257317f97e8629a3d0c8713d6dd9de4c (patch)
tree81562207cd4b6f6579275d61ea92a7d7b6bbd9ef /kernel/sched_autogroup.h
parent307bf9803f25a8a3f53c1012110fb74e2f893eb0 (diff)
sched: Skip autogroup when looking for all rt sched groups
Since commit ec514c48 ("sched: Fix rt_rq runtime leakage bug") 'cat /proc/sched_debug' will print data of root_task_group.rt_rq multiple times. This is because autogroup does not have its own rt group, instead rt group of autogroup is linked to root_task_group. So skip it when we are looking for all rt sched groups, and it will also save some noop operation against root_task_group when __disable_runtime()/__enable_runtime(). -v2: Based on Cheng Xu's idea which uses less code. Signed-off-by: Yong Zhang <yong.zhang0@gmail.com> Cc: Mike Galbraith <efault@gmx.de> Cc: Cheng Xu <chengxu@linux.vnet.ibm.com> Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/BANLkTi=87P3RoTF_UEtamNfc_XGxQXE__Q@mail.gmail.com Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/sched_autogroup.h')
-rw-r--r--kernel/sched_autogroup.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/kernel/sched_autogroup.h b/kernel/sched_autogroup.h
index 05577055cfca..c2f0e7248dca 100644
--- a/kernel/sched_autogroup.h
+++ b/kernel/sched_autogroup.h
@@ -13,6 +13,7 @@ struct autogroup {
13 int nice; 13 int nice;
14}; 14};
15 15
16static inline bool task_group_is_autogroup(struct task_group *tg);
16static inline struct task_group * 17static inline struct task_group *
17autogroup_task_group(struct task_struct *p, struct task_group *tg); 18autogroup_task_group(struct task_struct *p, struct task_group *tg);
18 19