Messages in this thread | | | Subject | Re: Preemptable Ticket Spinlock | From | Peter Zijlstra <> | Date | Mon, 22 Apr 2013 22:08:14 +0200 |
| |
On Mon, 2013-04-22 at 15:56 -0400, Rik van Riel wrote: > On 04/22/2013 03:49 PM, Peter Zijlstra wrote: > > On Mon, 2013-04-22 at 08:52 -0400, Rik van Riel wrote: > > >> If the native spin_lock code has been called already at > >> that time, the native code would still need to be modified > >> to increment the ticket number by 2, so we end up with a > >> compatible value in each spin lock's .tickets field, and > >> prevent a deadlock after we switch over to the paravirt > >> variant. > > > > I thought the stuff already made it upstream, but apparently not; the > > lastest posting I'm aware of is here: > > > > https://lkml.org/lkml/2012/5/2/105 > > > > That stuff changes the normal ticket increment as well.. > > Jiannan, > > It looks like the patch above could make a good patch > 1 (or 2) in your patch series :)
I much prefer the entire series from Jeremy since it maintains the ticket semantics and doesn't degrade the lock to unfair under contention.
Now I suppose there's a reason its not been merged yet and I suspect its !paravirt hotpath impact which wasn't rightly justified or somesuch so maybe someone can work on that or so.. dunno.
| |