• Waiman Long's avatar
    locking/qspinlock, x86: Enable x86-64 to use queued spinlocks · d73a3397
    Waiman Long authored
    This patch makes the necessary changes at the x86 architecture
    specific layer to enable the use of queued spinlocks for x86-64. As
    x86-32 machines are typically not multi-socket. The benefit of queue
    spinlock may not be apparent. So queued spinlocks are not enabled.
    
    Currently, there is some incompatibilities between the para-virtualized
    spinlock code (which hard-codes the use of ticket spinlock) and the
    queued spinlocks. Therefore, the use of queued spinlocks is disabled
    when the para-virtualized spinlock is enabled.
    
    The arch/x86/include/asm/qspinlock.h header file includes some x86
    specific optimization which will make the queueds spinlock code
    perform better than the generic implementation.
    Signed-off-by: default avatarWaiman Long <Waiman.Long@hp.com>
    Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    Cc: Boris Ostrovsky <boris.ostrovsky@oracle.com>
    Cc: Borislav Petkov <bp@alien8.de>
    Cc: Daniel J Blueman <daniel@numascale.com>
    Cc: David Vrabel <david.vrabel@citrix.com>
    Cc: Douglas Hatch <doug.hatch@hp.com>
    Cc: H. Peter Anvin <hpa@zytor.com>
    Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: Oleg Nesterov <oleg@redhat.com>
    Cc: Paolo Bonzini <paolo.bonzini@gmail.com>
    Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com>
    Cc: Rik van Riel <riel@redhat.com>
    Cc: Scott J Norton <scott.norton@hp.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Cc: virtualization@lists.linux-foundation.org
    Cc: xen-devel@lists.xenproject.org
    Link: http://lkml.kernel.org/r/1429901803-29771-3-git-send-email-Waiman.Long@hp.comSigned-off-by: default avatarIngo Molnar <mingo@kernel.org>
    d73a3397
Kconfig 83 KB