OSDN Git Service

rcu: Suppress lockdep false-positive ->boost_mtx complaints
authorPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 19 Sep 2017 22:36:42 +0000 (15:36 -0700)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Thu, 19 Oct 2017 19:13:36 +0000 (12:13 -0700)
commit02a7c234e54052101164368ff981bd72f7acdd65
tree5819d6d63e9f824a702a4b8e90e87720c2b0fe45
parentb88697810d7c1d102a529990f9071b0f14cfe6df
rcu: Suppress lockdep false-positive ->boost_mtx complaints

RCU priority boosting uses rt_mutex_init_proxy_locked() to initialize an
rt_mutex structure in locked state held by some other task.  When that
other task releases it, lockdep complains (quite accurately, but a bit
uselessly) that the other task never acquired it.  This complaint can
suppress other, more helpful, lockdep complaints, and in any case it is
a false positive.

This commit therefore switches from rt_mutex_unlock() to
rt_mutex_futex_unlock(), thereby avoiding the lockdep annotations.
Of course, if lockdep ever learns about rt_mutex_init_proxy_locked(),
addtional adjustments will be required.

Suggested-by: Peter Zijlstra <peterz@infradead.org>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
kernel/rcu/tree_plugin.h