Skip to content

Commit 02a7c23

Browse files
committed
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>
1 parent b886978 commit 02a7c23

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

kernel/rcu/tree_plugin.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -531,7 +531,7 @@ void rcu_read_unlock_special(struct task_struct *t)
531531

532532
/* Unboost if we were boosted. */
533533
if (IS_ENABLED(CONFIG_RCU_BOOST) && drop_boost_mutex)
534-
rt_mutex_unlock(&rnp->boost_mtx);
534+
rt_mutex_futex_unlock(&rnp->boost_mtx);
535535

536536
/*
537537
* If this was the last task on the expedited lists,

0 commit comments

Comments
 (0)