diff options
author | Yong Zhang <yong.zhang0@gmail.com> | 2011-06-27 22:51:31 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-07-01 04:39:08 -0400 |
commit | 1c09ab0d257317f97e8629a3d0c8713d6dd9de4c (patch) | |
tree | 81562207cd4b6f6579275d61ea92a7d7b6bbd9ef /kernel/sched_autogroup.h | |
parent | 307bf9803f25a8a3f53c1012110fb74e2f893eb0 (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.h | 1 |
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 | ||
16 | static inline bool task_group_is_autogroup(struct task_group *tg); | ||
16 | static inline struct task_group * | 17 | static inline struct task_group * |
17 | autogroup_task_group(struct task_struct *p, struct task_group *tg); | 18 | autogroup_task_group(struct task_struct *p, struct task_group *tg); |
18 | 19 | ||