• Mathieu Desnoyers's avatar
    x86: spinlock use LOCK_PREFIX · 5bbd4c37
    Mathieu Desnoyers authored
    Since we are now using DS prefixes instead of NOP to remove LOCK
    prefixes, there is no longer any problems with instruction boundaries
    moving around.
    
    * Linus Torvalds (torvalds@linux-foundation.org) wrote:
    >
    >
    > On Thu, 14 Aug 2008, Mathieu Desnoyers wrote:
    > >
    > > Changing the 0x90 (single-byte nop) currently used into a 0x3E DS segment
    > > override prefix should fix this issue. Since the default of the atomic
    > > instructions is to use the DS segment anyway, it should not affect the
    > > behavior.
    >
    > Ok, so I think this is an _excellent_ patch, but I'd like to also then use
    > LOCK_PREFIX in include/asm-x86/futex.h.
    >
    > See commit 9d55b992.
    >
    >     Linus
    
    Unless there a rationale for this, I think these be changed to LOCK_PREFIX
    too.
    
    grep "lock ;" include/asm-x86/spinlock.h
             "lock ; cmpxchgw %w1,%2\n\t"
      asm volatile("lock ; xaddl %0, %1\n"
             "lock ; cmpxchgl %1,%2\n\t"
    
    Applies to 2.6.27-rc2.
    Signed-off-by: default avatarMathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
    Acked-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    CC: Linus Torvalds <torvalds@linux-foundation.org>
    CC: H. Peter Anvin <hpa@zytor.com>
    CC: Jeremy Fitzhardinge <jeremy@goop.org>
    CC: Roland McGrath <roland@redhat.com>
    CC: Ingo Molnar <mingo@elte.hu>
    Cc: Steven Rostedt <rostedt@goodmis.org>
    CC: Steven Rostedt <srostedt@redhat.com>
    CC: Thomas Gleixner <tglx@linutronix.de>
    CC: Peter Zijlstra <peterz@infradead.org>
    CC: Andrew Morton <akpm@linux-foundation.org>
    CC: David Miller <davem@davemloft.net>
    CC: Ulrich Drepper <drepper@redhat.com>
    CC: Rusty Russell <rusty@rustcorp.com.au>
    CC: Gregory Haskins <ghaskins@novell.com>
    CC: Arnaldo Carvalho de Melo <acme@redhat.com>
    CC: "Luis Claudio R. Goncalves" <lclaudio@uudg.org>
    CC: Clark Williams <williams@redhat.com>
    CC: Christoph Lameter <cl@linux-foundation.org>
    CC: Andi Kleen <andi@firstfloor.org>
    CC: Harvey Harrison <harvey.harrison@gmail.com>
    Signed-off-by: default avatarH. Peter Anvin <hpa@zytor.com>
    5bbd4c37
spinlock.h 8.89 KB