lkml.org 
[lkml]   [2008]   [Aug]   [30]   [last100]   RSS Feed
Views: [more markup]  [less markup]  [headers]  [forward] 
 
Messages in this thread
/
DateSat, 30 Aug 2008 07:28:01 +0200
FromNick Piggin <>
SubjectRe: [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@novell.com>
> Cc: Nick Piggin <npiggin@suse.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");
> 
> 
> 


\
 
 \ /
  Last update: 2008-08-30 07:31    [from the cache]
©2003-2008