powerpc/qspinlock: allow stealing when head of queue yields
authorNicholas Piggin <npiggin@gmail.com>
Sat, 26 Nov 2022 09:59:24 +0000 (19:59 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 2 Dec 2022 06:48:50 +0000 (17:48 +1100)
commitb4c3cdc1a698a2f6168768d0bed4bf062723722e
tree3a52111673aff5ced6d196a745a3ff1e48d7268f
parentbd48287b2cf4cd6e95576db3a94fd2a7cdf9832d
powerpc/qspinlock: allow stealing when head of queue yields

If the head of queue is preventing stealing but it finds the owner vCPU
is preempted, it will yield its cycles to the owner which could cause it
to become preempted. Add an option to re-allow stealers before yielding,
and disallow them again after returning from the yield.

Disable this option by default for now, i.e., no logical change.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20221126095932.1234527-10-npiggin@gmail.com
arch/powerpc/lib/qspinlock.c