On 09/28/2011 10:22 AM, Linus Torvalds wrote: > On Wed, Sep 28, 2011 at 9:47 AM, Jeremy Fitzhardinge <jeremy@xxxxxxxx> 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. > I suspect it should be coded as -254 in order to use a short immediate if that is even possible... -hpa -- H. Peter Anvin, Intel Open Source Technology Center I work for Intel. I don't speak on their behalf. -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html