summaryrefslogtreecommitdiff
path: root/kernel/rcupdate.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2010-04-19 19:35:47 +0400
committerLinus Torvalds <torvalds@linux-foundation.org>2010-04-19 19:35:47 +0400
commit85341c61361cc45a9cc0e11c01e8f4479ef460ac (patch)
tree8d5e8e98aaef7f77f9749d851dd409ac356f0258 /kernel/rcupdate.c
parent375db4810b27306ea400ab39d3d6f7a063ac9ff6 (diff)
parentbc293d62b26ec590afc90a9e0a31c45d355b7bd8 (diff)
downloadlinux-85341c61361cc45a9cc0e11c01e8f4479ef460ac.tar.xz
Merge branch 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: rcu: Make RCU lockdep check the lockdep_recursion variable rcu: Update docs for rcu_access_pointer and rcu_dereference_protected rcu: Better explain the condition parameter of rcu_dereference_check() rcu: Add rcu_access_pointer and rcu_dereference_protected
Diffstat (limited to 'kernel/rcupdate.c')
-rw-r--r--kernel/rcupdate.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c
index 63fe25433980..03a7ea1579f6 100644
--- a/kernel/rcupdate.c
+++ b/kernel/rcupdate.c
@@ -69,6 +69,13 @@ EXPORT_SYMBOL_GPL(rcu_scheduler_active);
#ifdef CONFIG_DEBUG_LOCK_ALLOC
+int debug_lockdep_rcu_enabled(void)
+{
+ return rcu_scheduler_active && debug_locks &&
+ current->lockdep_recursion == 0;
+}
+EXPORT_SYMBOL_GPL(debug_lockdep_rcu_enabled);
+
/**
* rcu_read_lock_bh_held - might we be in RCU-bh read-side critical section?
*