diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2010-02-22 17:04:48 -0800 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2010-02-25 09:41:02 +0100 |
commit | 3120438ad68601f341e61e7cb1323b0e1a6ca367 (patch) | |
tree | ca8f9285ee2069cd2d3a49eda3f1150021e926b4 /include/linux/rculist_nulls.h | |
parent | 0632eb3d7563d6a76d49a3860b6352d800c92854 (diff) | |
download | linux-stable-3120438ad68601f341e61e7cb1323b0e1a6ca367.tar.gz linux-stable-3120438ad68601f341e61e7cb1323b0e1a6ca367.tar.bz2 linux-stable-3120438ad68601f341e61e7cb1323b0e1a6ca367.zip |
rcu: Disable lockdep checking in RCU list-traversal primitives
The theory is that use of bare rcu_dereference() is more prone
to error than use of the RCU list-traversal primitives.
Therefore, disable lockdep RCU read-side critical-section
checking in these primitives for the time being. Once all of
the rcu_dereference() uses have been dealt with, it may be time
to re-enable lockdep checking for the RCU list-traversal
primitives.
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: <1266887105-1528-4-git-send-email-paulmck@linux.vnet.ibm.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/linux/rculist_nulls.h')
-rw-r--r-- | include/linux/rculist_nulls.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/linux/rculist_nulls.h b/include/linux/rculist_nulls.h index 589a40919f01..b70ffe53cb9f 100644 --- a/include/linux/rculist_nulls.h +++ b/include/linux/rculist_nulls.h @@ -101,10 +101,10 @@ static inline void hlist_nulls_add_head_rcu(struct hlist_nulls_node *n, * */ #define hlist_nulls_for_each_entry_rcu(tpos, pos, head, member) \ - for (pos = rcu_dereference((head)->first); \ + for (pos = rcu_dereference_raw((head)->first); \ (!is_a_nulls(pos)) && \ ({ tpos = hlist_nulls_entry(pos, typeof(*tpos), member); 1; }); \ - pos = rcu_dereference(pos->next)) + pos = rcu_dereference_raw(pos->next)) #endif #endif |