| Date | Wed, 17 Nov 2010 08:31:50 +0000 | From | "Jan Beulich" <> | Subject | Re: [PATCH 13/14] x86/ticketlock: add slowpath logic |
| |
>>> On 16.11.10 at 22:08, Jeremy Fitzhardinge <jeremy@goop.org> wrote: > +static inline void __ticket_enter_slowpath(struct arch_spinlock *lock) > +{ > + if (sizeof(lock->tickets.tail) == sizeof(u8)) > + asm (LOCK_PREFIX "orb %1, %0" > + : "+m" (lock->tickets.tail) > + : "i" (TICKET_SLOWPATH_FLAG) : "memory"); > + else > + asm (LOCK_PREFIX "orw %1, %0" > + : "+m" (lock->tickets.tail) > + : "i" (TICKET_SLOWPATH_FLAG) : "memory"); > +}
Came only now to mind: Here and elsewhere, did you try using %z0 to have gcc produce the opcode suffix character, rather than having these somewhat ugly if()-s?
Jan
|