On Wed, Feb 05, 2014 at 04:44:34PM -0500, Waiman Long wrote:I have an alternative way of breaking out of the MCS lock waiting queue whenI'm not quite seeing how it works (then again, I've not really read the
need_resched() is set. I overload the locked flag to indicate a skipped node
if negative.
patch carefully).
Suppose you break out; at that point you get queued and go to sleep.
Suppose you got woken up while you MCS entry is still 'pending' and
magically win the race and acquire the lock.
At that point your MCS entry can be re-used while its still part of the
list.
Its a fantastically small race window, but I don't see anything that
makes it impossible.
I run the patch through the AIM7 high-systime workload on aHow do people run this AIM7 piece of shit? I let it run for over an hour
4-socket server and it seemed to run fine.
and it generated exactly 0 numbers, it just sits there eating cpu-time
and creating a racket from my pantry.