]> git.proxmox.com Git - mirror_ubuntu-disco-kernel.git/commitdiff
x86/spinlocks: Eliminate TICKET_MASK
authorJan Beulich <JBeulich@suse.com>
Fri, 3 Feb 2012 15:06:26 +0000 (15:06 +0000)
committerIngo Molnar <mingo@elte.hu>
Tue, 7 Feb 2012 09:09:54 +0000 (10:09 +0100)
The definition of it being questionable already (unnecessarily
including a cast), and it being used in a single place that can
be written shorter without it, remove this #define.

Along the same lines, simplify __ticket_spin_is_locked()'s main
expression, which was the more convoluted way because of needs
that went away with the recent type changes by Jeremy.

This is pure cleanup, no functional change intended.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Jeremy Fitzhardinge <jeremy@goop.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Link: http://lkml.kernel.org/r/4F2C06020200007800071066@nat28.tlf.novell.com
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/include/asm/spinlock.h
arch/x86/include/asm/spinlock_types.h

index a82c2bf504b60be3fac409131d56253db124a906..76bfa2cf301df366e8b4b0ac2865ec009fc1eedd 100644 (file)
@@ -88,14 +88,14 @@ static inline int __ticket_spin_is_locked(arch_spinlock_t *lock)
 {
        struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
-       return !!(tmp.tail ^ tmp.head);
+       return tmp.tail != tmp.head;
 }
 
 static inline int __ticket_spin_is_contended(arch_spinlock_t *lock)
 {
        struct __raw_tickets tmp = ACCESS_ONCE(lock->tickets);
 
-       return ((tmp.tail - tmp.head) & TICKET_MASK) > 1;
+       return (__ticket_t)(tmp.tail - tmp.head) > 1;
 }
 
 #ifndef CONFIG_PARAVIRT_SPINLOCKS
index 8ebd5df7451e28b88a8a155bf3ff7dcb081ddb35..ad0ad07fc006d08fa180b25a1a5c2b1a61664a38 100644 (file)
@@ -16,7 +16,6 @@ typedef u32 __ticketpair_t;
 #endif
 
 #define TICKET_SHIFT   (sizeof(__ticket_t) * 8)
-#define TICKET_MASK    ((__ticket_t)((1 << TICKET_SHIFT) - 1))
 
 typedef struct arch_spinlock {
        union {