Messages in this thread | | | From | Linus Torvalds <> | Date | Wed, 28 Sep 2011 10:22:56 -0700 | Subject | Re: [Xen-devel] [PATCH 00/10] [PATCH RFC V2] Paravirtualized ticketlocks |
| |
On Wed, Sep 28, 2011 at 9:47 AM, Jeremy Fitzhardinge <jeremy@goop.org> wrote: > > Could do something like: > > if (ticket->head >= 254) > prev = xadd(&ticket->head_tail, 0xff02); > else > prev = xadd(&ticket->head_tail, 0x0002); > > to compensate for the overflow.
Oh wow. You havge an even more twisted mind than I do.
I guess that will work, exactly because we control "head" and thus can know about the overflow in the low byte. But boy is that ugly ;)
But at least you wouldn't need to do the loop with cmpxchg. So it's twisted and ugly, but migth be practical.
Linus -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |