summaryrefslogtreecommitdiffstats
path: root/lib/Kconfig.debug
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-07-20 00:13:40 +0200
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>2015-08-04 17:39:21 +0200
commitaf859beaaba4d57883b08f4acbcb3974bc1f975e (patch)
tree0bff1fa9c43693c9f513daf48197be3627b3301c /lib/Kconfig.debug
parentrcu: Add fastpath bypassing funnel locking (diff)
downloadlinux-af859beaaba4d57883b08f4acbcb3974bc1f975e.tar.xz
linux-af859beaaba4d57883b08f4acbcb3974bc1f975e.zip
rcu: Silence lockdep false positive for expedited grace periods
In a CONFIG_PREEMPT=y kernel, synchronize_rcu_expedited() acquires the ->exp_funnel_mutex in rcu_preempt_state, then invokes synchronize_sched_expedited, which acquires the ->exp_funnel_mutex in rcu_sched_state. There can be no deadlock because rcu_preempt_state ->exp_funnel_mutex acquisition always precedes that of rcu_sched_state. But lockdep does not know that, so it gives false-positive splats. This commit therefore associates a separate lock_class_key structure with the rcu_sched_state structure's ->exp_funnel_mutex, allowing lockdep to see the lock ordering, avoiding the false positives. Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Diffstat (limited to 'lib/Kconfig.debug')
0 files changed, 0 insertions, 0 deletions