>>> On 28.09.11 at 17:38, Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > On Tue, Sep 27, 2011 at 9:44 AM, Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote: >> >> I guess it comes down to throwing myself on the efficiency of some kind >> of fence instruction. I guess an lfence would be sufficient; is that >> any more efficient than a full mfence? At least I can make it so that >> its only present when pv ticket locks are actually in use, so it won't >> affect the native case. > > Please don't play with fences, just do the final "addb" as a locked > instruction. > > In fact, don't even use an addb, this whole thing is disgusting: > > movzwl (%rdi),%esi (esi:=0x0400) > addb $0x2,(%rdi) (LOCAL copy of lock is now: 0x0402) > movzwl (%rdi),%eax (local forwarding from previous store: eax := 0x0402) > > just use "lock xaddw" there too. I'm afraid that's not possible, as that might carry from the low 8 bits into the upper 8 ones, which must be avoided. Jan -- 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