Re: [PATCH v10 07/19] qspinlock: Use a simple write to grab the lock, if applicable
From: Peter Zijlstra <peterz@infradead.org>
Date: 2014-05-08 19:00:11
Also in:
kvm, lkml, virtualization
From: Peter Zijlstra <peterz@infradead.org>
Date: 2014-05-08 19:00:11
Also in:
kvm, lkml, virtualization
On Wed, May 07, 2014 at 11:01:35AM -0400, Waiman Long wrote:
@@ -94,23 +94,29 @@ static inline struct mcs_spinlock *decode_tail(u32 tail) * can allow better optimization of the lock acquisition for the pending * bit holder. */ -#if _Q_PENDING_BITS == 8 - struct __qspinlock { union { atomic_t val; - struct { #ifdef __LITTLE_ENDIAN + u8 locked; + struct { u16 locked_pending; u16 tail; + }; #else + struct { u16 tail; u16 locked_pending; -#endif }; + struct { + u8 reserved[3]; + u8 locked; + }; +#endif }; }; +#if _Q_PENDING_BITS == 8
That doesn't make sense, that struct __qspinlock only makes sense when _Q_PENDING_BITS == 8.