[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH V3] x86 spinlock: Fix memory corruption on completing completions
Damn, sorry for noise, forgot to mention... On 02/12, Raghavendra K T wrote: > > +static inline void __ticket_check_and_clear_slowpath(arch_spinlock_t *lock, > + __ticket_t head) > +{ > + if (head & TICKET_SLOWPATH_FLAG) { > + arch_spinlock_t old, new; > + > + old.tickets.head = head; > + new.tickets.head = head & ~TICKET_SLOWPATH_FLAG; > + old.tickets.tail = new.tickets.head + TICKET_LOCK_INC; > + new.tickets.tail = old.tickets.tail; > + > + /* try to clear slowpath flag when there are no contenders */ > + cmpxchg(&lock->head_tail, old.head_tail, new.head_tail); > + } > +} ... > +clear_slowpath: > + if (TICKET_SLOWPATH_FLAG) > + __ticket_check_and_clear_slowpath(lock, inc.head); I think you can remove this "if (TICKET_SLOWPATH_FLAG)" check. If it is defined as zero, gcc should optimize out the code under "if (head & 0)". But this is purely cosmetic and subjective, feel free to ignore. Oleg. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |