linux/kernel/sched
Peter Zijlstra 067491b731 sched, nohz: Fix missing RCU read lock
Yong Zhang reported:

 > [ INFO: suspicious RCU usage. ]
 > kernel/sched/fair.c:5091 suspicious rcu_dereference_check() usage!

This is due to the sched_domain stuff being RCU protected and
commit 0b005cf5 ("sched, nohz: Implement sched group, domain
aware nohz idle load balancing") overlooking this fact.

The sd variable only lives inside the for_each_domain() block,
so we only need to wrap that.

Reported-by: Yong Zhang <yong.zhang0@gmail.com>
Tested-by: Yong Zhang <yong.zhang0@gmail.com>
Signed-off-by: Peter Zijlstra <a.p.zijlstra@chello.nl>
Cc: Suresh Siddha <suresh.b.siddha@intel.com>
Link: http://lkml.kernel.org/r/1323264728.32012.107.camel@twins
Signed-off-by: Ingo Molnar <mingo@elte.hu>
2011-12-08 05:45:48 +01:00
..
auto_group.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
auto_group.h sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
clock.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
core.c sched: Use jump_labels for sched_feat 2011-12-06 20:51:26 +01:00
cpupri.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
cpupri.h sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
debug.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
fair.c sched, nohz: Fix missing RCU read lock 2011-12-08 05:45:48 +01:00
features.h sched: Use jump_labels for sched_feat 2011-12-06 20:51:26 +01:00
idle_task.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
Makefile sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
rt.c sched/rt: Code cleanup, remove a redundant function call 2011-12-06 09:06:28 +01:00
sched.h sched: Use jump_labels for sched_feat 2011-12-06 20:51:26 +01:00
stats.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
stats.h sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00
stop_task.c sched: Move all scheduler bits into kernel/sched/ 2011-11-17 12:20:22 +01:00