diff options
author | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-10-28 09:22:24 -0700 |
---|---|---|
committer | Paul E. McKenney <paulmck@linux.vnet.ibm.com> | 2013-12-09 15:12:39 -0800 |
commit | 24ef659a857c3cba40b64ea51ea4fce8d2fb7bbc (patch) | |
tree | a3059c0605de74b27d67bcfbb58bceabf3dff948 /include | |
parent | bc72d962d6a0ba8d9d5314d04fd1775261a9ec79 (diff) | |
download | blackbird-op-linux-24ef659a857c3cba40b64ea51ea4fce8d2fb7bbc.tar.gz blackbird-op-linux-24ef659a857c3cba40b64ea51ea4fce8d2fb7bbc.zip |
rcu: Provide better diagnostics for blocking in RCU callback functions
Currently blocking in an RCU callback function will result in
"scheduling while atomic", which could be triggered for any number
of reasons. To aid debugging, this patch introduces a rcu_callback_map
that is used to tie the inappropriate voluntary context switch back
to the fact that the function is being invoked from within a callback.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/rcupdate.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/rcupdate.h b/include/linux/rcupdate.h index 39cbb889e20d..a94a5805d378 100644 --- a/include/linux/rcupdate.h +++ b/include/linux/rcupdate.h @@ -325,6 +325,7 @@ static inline void rcu_lock_release(struct lockdep_map *map) extern struct lockdep_map rcu_lock_map; extern struct lockdep_map rcu_bh_lock_map; extern struct lockdep_map rcu_sched_lock_map; +extern struct lockdep_map rcu_callback_map; extern int debug_lockdep_rcu_enabled(void); /** |