[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080830052801.GA16897@wotan.suse.de>
Date: Sat, 30 Aug 2008 07:28:01 +0200
From: Nick Piggin <npiggin@...e.de>
To: Jan Beulich <jbeulich@...ell.com>
Cc: mingo@...e.hu, tglx@...utronix.de, hpa@...or.com,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] x86: fix ticket spin lock asm constraints
Hi,
All these ticket lock patches look pretty good to me. Thanks for going over
it so thoroughly.
On Fri, Aug 29, 2008 at 12:54:59PM +0100, Jan Beulich wrote:
> In addition to these changes I doubt the 'volatile' on all the ticket
> lock asm()-s are really necessary.
>
> Signed-off-by: Jan Beulich <jbeulich@...ell.com>
> Cc: Nick Piggin <npiggin@...e.de>
>
> ---
> include/asm-x86/spinlock.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> --- linux-2.6.27-rc5/include/asm-x86/spinlock.h 2008-08-21 14:37:34.000000000 +0200
> +++ 2.6.27-rc5-x86-spinlock-constraints/include/asm-x86/spinlock.h 2008-08-19 12:43:22.000000000 +0200
> @@ -101,7 +101,7 @@ static __always_inline int __ticket_spin
> "1:"
> "sete %b1\n\t"
> "movzbl %b1,%0\n\t"
> - : "=&a" (tmp), "=Q" (new), "+m" (lock->slock)
> + : "=&a" (tmp), "=&Q" (new), "+m" (lock->slock)
> :
> : "memory", "cc");
>
> @@ -146,7 +146,7 @@ static __always_inline void __ticket_spi
> /* don't need lfence here, because loads are in-order */
> "jmp 1b\n"
> "2:"
> - : "+Q" (inc), "+m" (lock->slock), "=r" (tmp)
> + : "+r" (inc), "+m" (lock->slock), "=&r" (tmp)
> :
> : "memory", "cc");
> }
> @@ -166,7 +166,7 @@ static __always_inline int __ticket_spin
> "1:"
> "sete %b1\n\t"
> "movzbl %b1,%0\n\t"
> - : "=&a" (tmp), "=r" (new), "+m" (lock->slock)
> + : "=&a" (tmp), "=&q" (new), "+m" (lock->slock)
> :
> : "memory", "cc");
>
>
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists