• Matt Turner's avatar
    alpha: select CONFIG_ARCH_USE_CMPXCHG_LOCKREF. · 8f8dcb3f
    Matt Turner authored
    On Alpha we have spinlocks that are 32b in size and an efficient
    cmpxchg64 implementation, so we qualify to make use of cmpxchg backed
    lockrefs. Select the ARCH_USE_CMPXCHG_LOCKREF Kconfig symbol and provide
    a trivial implementation of arch_spin_value_unlocked to satisfy the
    lockref code.
    
    Using Linus' simple testcase from
    http://article.gmane.org/gmane.linux.file-systems/77466 on a dual CPU
    ES47 system I see around an 8% gain:
    
        N       Min       Max    Median       Avg      Stddev
    x  30   6194580   6295654   6272504   6272514   17694.232
    +  30   6731164   6786334   6767982d   6764274   13738.863
    Difference at 95.0% confidence
            491760 +/- 8188.17
            7.83992% +/- 0.130541%
            (Student's t, pooled s = 15840.5)
    Signed-off-by: default avatarMatt Turner <mattst88@gmail.com>
    8f8dcb3f
spinlock.h 3.2 KB