[PATCH 6/6] kernel/locking: Remove unused union members from struct qrwlock
Will Deacon
will.deacon at arm.com
Thu Oct 5 05:54:57 PDT 2017
Now that all atomic operations are performed on the full lock word of
the qrwlock, there's no need to define a union type exposing the reader
and writer subcomponents. Remove them.
Cc: Peter Zijlstra <peterz at infradead.org>
Cc: Ingo Molnar <mingo at redhat.com>
Cc: Waiman Long <longman at redhat.com>
Cc: Boqun Feng <boqun.feng at gmail.com>
Cc: "Paul E. McKenney" <paulmck at linux.vnet.ibm.com>
Signed-off-by: Will Deacon <will.deacon at arm.com>
---
include/asm-generic/qrwlock_types.h | 15 ++-------------
1 file changed, 2 insertions(+), 13 deletions(-)
diff --git a/include/asm-generic/qrwlock_types.h b/include/asm-generic/qrwlock_types.h
index 507f2dc51bba..7f53be31359c 100644
--- a/include/asm-generic/qrwlock_types.h
+++ b/include/asm-generic/qrwlock_types.h
@@ -9,23 +9,12 @@
*/
typedef struct qrwlock {
- union {
- atomic_t cnts;
- struct {
-#ifdef __LITTLE_ENDIAN
- u8 wmode; /* Writer mode */
- u8 rcnts[3]; /* Reader counts */
-#else
- u8 rcnts[3]; /* Reader counts */
- u8 wmode; /* Writer mode */
-#endif
- };
- };
+ atomic_t cnts;
arch_spinlock_t wait_lock;
} arch_rwlock_t;
#define __ARCH_RW_LOCK_UNLOCKED { \
- { .cnts = ATOMIC_INIT(0), }, \
+ .cnts = ATOMIC_INIT(0), \
.wait_lock = __ARCH_SPIN_LOCK_UNLOCKED, \
}
--
2.1.4
More information about the linux-arm-kernel
mailing list