summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2010-02-27 23:53:08 +0100
committerIngo Molnar <mingo@elte.hu>2010-02-28 09:17:42 +0100
commit1883c79a57a5fe25309007590cccb1b2782c41b2 (patch)
treeabf862c8282acdb551c8f7220d862433e5763bc5
parentrcu: Fix holdoff for accelerated GPs for last non-dynticked CPU (diff)
downloadlinux-1883c79a57a5fe25309007590cccb1b2782c41b2.tar.xz
linux-1883c79a57a5fe25309007590cccb1b2782c41b2.zip
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(
{
return rcu_dereference_check(task->cgroups->subsys[subsys_id],
rcu_read_lock_held() ||
+ !rcu_scheduler_active ||
cgroup_lock_is_held());
}