rcu: Provide better diagnostics for blocking in RCU callback functions
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 28 Oct 2013 16:22:24 +0000 (09:22 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Mon, 9 Dec 2013 23:12:39 +0000 (15:12 -0800)
commit24ef659a857c3cba40b64ea51ea4fce8d2fb7bbc
treea3059c0605de74b27d67bcfbb58bceabf3dff948
parentbc72d962d6a0ba8d9d5314d04fd1775261a9ec79
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>
include/linux/rcupdate.h
kernel/rcu/rcu.h
kernel/rcu/update.c