| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
 Re: [Xen-devel] [PATCH v5 2/8] qspinlock,	x86: Enable x86-64 to use queue	spinlock
 
To: Waiman Long <Waiman.Long@xxxxxx>From: Oleg Nesterov <oleg@xxxxxxxxxx>Date: Sun, 2 Mar 2014 15:10:58 +0100Cc: Jeremy Fitzhardinge <jeremy@xxxxxxxx>,	Raghavendra K T <raghavendra.kt@xxxxxxxxxxxxxxxxxx>,	kvm@xxxxxxxxxxxxxxx, Peter Zijlstra <peterz@xxxxxxxxxxxxx>,	virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx,	Andi Kleen <andi@xxxxxxxxxxxxxx>, "H. Peter Anvin" <hpa@xxxxxxxxx>,	Michel Lespinasse <walken@xxxxxxxxxx>,	Thomas Gleixner <tglx@xxxxxxxxxxxxx>, linux-arch@xxxxxxxxxxxxxxx,	Gleb Natapov <gleb@xxxxxxxxxx>, x86@xxxxxxxxxx,	Ingo Molnar <mingo@xxxxxxxxxx>, xen-devel@xxxxxxxxxxxxxxxxxxxx,	"Paul E. McKenney" <paulmck@xxxxxxxxxxxxxxxxxx>,	Arnd Bergmann <arnd@xxxxxxxx>, Scott J Norton <scott.norton@xxxxxx>,	Rusty Russell <rusty@xxxxxxxxxxxxxxx>,	Steven Rostedt <rostedt@xxxxxxxxxxx>, Chris Wright <chrisw@xxxxxxxxxxxx>,	Alok Kataria <akataria@xxxxxxxxxx>,	Aswin Chandramouleeswaran <aswin@xxxxxx>, Chegu Vinod <chegu_vinod@xxxxxx>,	Boris Ostrovsky <boris.ostrovsky@xxxxxxxxxx>, linux-kernel@xxxxxxxxxxxxxxx,	David Vrabel <david.vrabel@xxxxxxxxxx>,	Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>,	Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>Delivery-date: Sun, 02 Mar 2014 14:26:08 +0000List-id: Xen developer discussion <xen-devel.lists.xen.org> 
 On 02/26, Waiman Long wrote:
>
> +#define _ARCH_SUPPORTS_ATOMIC_8_16_BITS_OPS
> +
> +/*
> + * x86-64 specific queue spinlock union structure
> + */
> +union arch_qspinlock {
> +     struct qspinlock slock;
> +     u8               lock;  /* Lock bit     */
> +};
And this enables the optimized version of queue_spin_setlock().
But why does it check ACCESS_ONCE(qlock->lock) == 0 ? This is called
right after queue_get_lock_qcode() returns 0, this locked should be
likely unlocked.
Oleg.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
 |