X-Git-Url: http://git.samba.org/samba.git/?a=blobdiff_plain;f=kernel%2Frcupdate.c;h=49d808e833b00ed1a4d8afbc51442dd37e11c3a9;hb=7d32c0aca4fbd0319c860d12af5fae3e88c760e6;hp=63fe25433980a943096634841d0ce5ff0ed33f7f;hpb=d4509e5a6edf8862c18d887a642ce4994bde297d;p=sfrench%2Fcifs-2.6.git diff --git a/kernel/rcupdate.c b/kernel/rcupdate.c index 63fe25433980..49d808e833b0 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? * @@ -115,3 +122,14 @@ void wakeme_after_rcu(struct rcu_head *head) rcu = container_of(head, struct rcu_synchronize, head); complete(&rcu->completion); } + +#ifdef CONFIG_PROVE_RCU +/* + * wrapper function to avoid #include problems. + */ +int rcu_my_thread_group_empty(void) +{ + return thread_group_empty(current); +} +EXPORT_SYMBOL_GPL(rcu_my_thread_group_empty); +#endif /* #ifdef CONFIG_PROVE_RCU */