powerpc/qspinlock: stop queued waiters trying to set lock sleepy
authorNicholas Piggin <npiggin@gmail.com>
Mon, 16 Oct 2023 12:43:01 +0000 (22:43 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 20 Oct 2023 11:43:34 +0000 (22:43 +1100)
commitf6568647382c667912245c8d07aa26c9c6d4d0c8
treee3ad3d43de16f0155cb7aa7f4e7b742948a226eb
parentea142e590aec55ba40c5affb4d49e68c713c63dc
powerpc/qspinlock: stop queued waiters trying to set lock sleepy

If a queued waiter notices the lock owner or the previous waiter has
been preempted, it attempts to mark the lock sleepy, but it does this
as a try-set operation using the original lock value it got when
queueing, which will become stale as the queue progresses, and the
try-set will fail. Drop this and just set the sleepy seen clock.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Tested-by: Shrikanth Hegde <sshegde@linux.vnet.ibm.com>
Reviewed-by: "Nysal Jan K.A" <nysal@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/20231016124305.139923-3-npiggin@gmail.com
arch/powerpc/lib/qspinlock.c