Thread (51 messages) 51 messages, 4 authors, 2014-05-19

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

On Wed, May 07, 2014 at 11:01:35AM -0400, Waiman Long wrote:
quoted hunk ↗ jump to hunk
@@ -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.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help