On Tue, Oct 09, 2018 at 01:18:10PM +0100, Will Deacon wrote: > On Tue, Oct 02, 2018 at 10:38:58PM -0700, Lance Roy wrote: > > lockdep_assert_held() is better suited to checking locking requirements, > > since it won't get confused when someone else holds the lock. This is > > also a step towards possibly removing spin_is_locked(). > > > > Signed-off-by: Lance Roy <ldr...@gmail.com> > > Cc: Peter Zijlstra <pet...@infradead.org> > > Cc: Ingo Molnar <mi...@redhat.com> > > Cc: Will Deacon <will.dea...@arm.com> > > --- > > kernel/locking/mutex-debug.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/kernel/locking/mutex-debug.c b/kernel/locking/mutex-debug.c > > index 9aa713629387..771d4ca96dda 100644 > > --- a/kernel/locking/mutex-debug.c > > +++ b/kernel/locking/mutex-debug.c > > @@ -36,7 +36,7 @@ void debug_mutex_lock_common(struct mutex *lock, struct > > mutex_waiter *waiter) > > > > void debug_mutex_wake_waiter(struct mutex *lock, struct mutex_waiter > > *waiter) > > { > > - SMP_DEBUG_LOCKS_WARN_ON(!spin_is_locked(&lock->wait_lock)); > > + lockdep_assert_held(&lock->wait_lock); > > DEBUG_LOCKS_WARN_ON(list_empty(&lock->wait_list)); > > DEBUG_LOCKS_WARN_ON(waiter->magic != waiter); > > DEBUG_LOCKS_WARN_ON(list_empty(&waiter->list)); > > @@ -51,7 +51,7 @@ void debug_mutex_free_waiter(struct mutex_waiter *waiter) > > void debug_mutex_add_waiter(struct mutex *lock, struct mutex_waiter > > *waiter, > > struct task_struct *task) > > { > > - SMP_DEBUG_LOCKS_WARN_ON(!spin_is_locked(&lock->wait_lock)); > > + lockdep_assert_held(&lock->wait_lock); > > I think it's a good idea to replace debug usage of spin_is_locked() with > calls to lockdep, but I wonder whether that means that DEBUG_MUTEXES should > select LOCKDEP so that we don't lose coverage? > > What do you think?
Makes sense to me! But given that this was accepted into -tip, I have dropped it from my tree. Thanx, Paul