aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-02-27 17:53:08 -0500
committerIngo Molnar <mingo@elte.hu>2010-02-28 03:17:42 -0500
commit1883c79a57a5fe25309007590cccb1b2782c41b2 (patch)
treeabf862c8282acdb551c8f7220d862433e5763bc5
parent622ea685f1fafdf84d612440535c84341f0860b8 (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.h1
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