diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-02-27 17:53:08 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-02-28 03:17:42 -0500 |
commit | 1883c79a57a5fe25309007590cccb1b2782c41b2 (patch) | |
tree | abf862c8282acdb551c8f7220d862433e5763bc5 | |
parent | 622ea685f1fafdf84d612440535c84341f0860b8 (diff) |
rcu: Make task_subsys_state() RCU-lockdep checks handle boot-time use
It is apparently legal to invoke task_subsys_state() without RCU
protection during early boot time. After all, there are no
concurrent tasks, so there can be no grace periods completing
concurrently.
But this does need an Acked-by from the cgroups folks.
Located-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: laijs@cn.fujitsu.com
Cc: dipankar@in.ibm.com
Cc: mathieu.desnoyers@polymtl.ca
Cc: josh@joshtriplett.org
Cc: dvhltc@us.ibm.com
Cc: niv@us.ibm.com
Cc: peterz@infradead.org
Cc: rostedt@goodmis.org
Cc: Valdis.Kletnieks@vt.edu
Cc: dhowells@redhat.com
LKML-Reference: <1267311188-16603-2-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r-- | include/linux/cgroup.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index c9bbcb2a75ae..a73e1ced09b8 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
@@ -489,6 +489,7 @@ static inline struct cgroup_subsys_state *task_subsys_state( | |||
489 | { | 489 | { |
490 | return rcu_dereference_check(task->cgroups->subsys[subsys_id], | 490 | return rcu_dereference_check(task->cgroups->subsys[subsys_id], |
491 | rcu_read_lock_held() || | 491 | rcu_read_lock_held() || |
492 | !rcu_scheduler_active || | ||
492 | cgroup_lock_is_held()); | 493 | cgroup_lock_is_held()); |
493 | } | 494 | } |
494 | 495 | ||