Messages in this thread |  | | Date | Fri, 31 Jan 2020 09:39:22 -0800 | From | Davidlohr Bueso <> | Subject | Re: [PATCH] locking/rtmutex: remove unused cmpxchg_relaxed |
| |
Cc'ing tglx.
On Tue, 21 Jan 2020, Alex Shi wrote:
>No one use this macro after it was introduced. Better to remove it?
You also need to remove it for the CONFIG_DEBUG_RT_MUTEXES=y case.
> >Signed-off-by: Alex Shi <alex.shi@linux.alibaba.com> >Cc: Peter Zijlstra <peterz@infradead.org> >Cc: Davidlohr Bueso <dave@stgolabs.net> >Cc: Ingo Molnar <mingo@redhat.com> >Cc: Will Deacon <will@kernel.org> >Cc: linux-kernel@vger.kernel.org >--- > kernel/locking/rtmutex.c | 1 - > 1 file changed, 1 deletion(-) > >diff --git a/kernel/locking/rtmutex.c b/kernel/locking/rtmutex.c >index 851bbb10819d..a849964a348d 100644 >--- a/kernel/locking/rtmutex.c >+++ b/kernel/locking/rtmutex.c >@@ -141,7 +141,6 @@ static void fixup_rt_mutex_waiters(struct rt_mutex *lock) > * set up. > */ > #ifndef CONFIG_DEBUG_RT_MUTEXES >-# define rt_mutex_cmpxchg_relaxed(l,c,n) (cmpxchg_relaxed(&l->owner, c, n) == c) > # define rt_mutex_cmpxchg_acquire(l,c,n) (cmpxchg_acquire(&l->owner, c, n) == c) > # define rt_mutex_cmpxchg_release(l,c,n) (cmpxchg_release(&l->owner, c, n) == c)
Hmm unrelated, but do we want CCAS for rtmutex fastpath? Ie:
(l->owner == c && cmpxchg_acquire(&l->owner, c, n) == c)
That would optimize for the contended case and avoid the cmpxchg - it would also help if we ever do the top-waiter spin thing.
Thanks, Davidlohr
|  |