rcu: Suppress RCU lockdep warnings during early boot
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Wed, 3 Mar 2010 15:46:57 +0000 (07:46 -0800)
committerIngo Molnar <mingo@elte.hu>
Thu, 4 Mar 2010 11:09:19 +0000 (12:09 +0100)
commit54dbf96c921513bf98484a20ef366d51944a4c4d
treecb88fa12a8ac0e7cc8c6380781c46d1c6149c027
parent8d53dd546f36073e0d29b0cfc24c665db301e3e7
rcu: Suppress RCU lockdep warnings during early boot

RCU is used during very early boot, before RCU and lockdep have
been initialized.  So make the underlying primitives
(rcu_read_lock_held(), rcu_read_lock_bh_held(),
rcu_read_lock_sched_held(), and rcu_dereference_check()) check
for early boot via the rcu_scheduler_active flag.  This will
suppress false positives.

Also introduce a debug_lockdep_rcu_enabled() static inline
helper function, which tags the CONTINUE_PROVE_RCU case as
likely(), as suggested by Ingo Molnar.

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: <1267631219-8713-2-git-send-email-paulmck@linux.vnet.ibm.com>
[ v2: removed incomplete debug_lockdep_rcu_update() bits ]
Signed-off-by: Ingo Molnar <mingo@elte.hu>
include/linux/rcupdate.h