• C
    x86: Add support for cmpxchg_double · 3824abd1
    Christoph Lameter 提交于
    A simple implementation that only supports the word size and does not
    have a fallback mode (would require a spinlock).
    
    Add 32 and 64 bit support for cmpxchg_double. cmpxchg double uses
    the cmpxchg8b or cmpxchg16b instruction on x86 processors to compare
    and swap 2 machine words. This allows lockless algorithms to move more
    context information through critical sections.
    
    Set a flag CONFIG_CMPXCHG_DOUBLE to signal that support for double word
    cmpxchg detection has been build into the kernel. Note that each subsystem
    using cmpxchg_double has to implement a fall back mechanism as long as
    we offer support for processors that do not implement cmpxchg_double.
    Reviewed-by: NH. Peter Anvin <hpa@zytor.com>
    Cc: Tejun Heo <tj@kernel.org>
    Cc: Pekka Enberg <penberg@cs.helsinki.fi>
    Signed-off-by: NChristoph Lameter <cl@linux.com>
    Link: http://lkml.kernel.org/r/20110601172614.173427964@linux.comSigned-off-by: NH. Peter Anvin <hpa@zytor.com>
    3824abd1
cpufeature.h 18.0 KB