• Tony Luck's avatar
    [IA64] implement ticket locks for Itanium · 2c86963b
    Tony Luck authored
    Back in January 2008 Nick Piggin implemented "ticket" spinlocks
    for X86 (See commit 314cdbef
    
    ).
    
    IA64 implementation has a couple of differences because of the
    available atomic operations ... e.g. we have no fetchadd2 instruction
    that operates on a 16-bit quantity so we make ticket locks use
    a 32-bit word for each of the current ticket and now-serving values.
    
    Performance on uncontended locks is about 8% worse than the previous
    implementation, but this seems a good trade for determinism in the
    contended case. Performance impact on macro-level benchmarks is in
    the noise.
    
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    2c86963b