• Uros Bizjak's avatar
    locking/atomic: Add generic support for sync_try_cmpxchg() and its fallback · e01cc1e8
    Uros Bizjak authored
    Provide the generic sync_try_cmpxchg() function from the
    raw_ prefixed version, also adding explicit instrumentation.
    
    The patch amends existing scripts to generate sync_try_cmpxchg()
    locking primitive and its raw_sync_try_cmpxchg() fallback, while
    leaving existing macros from the try_cmpxchg() family unchanged.
    
    The target can define its own arch_sync_try_cmpxchg() to override the
    generic version of raw_sync_try_cmpxchg(). This allows the target
    to generate more optimal assembly than the generic version.
    
    Additionally, the patch renames two scripts to better reflect
    whet they really do.
    Signed-off-by: default avatarUros Bizjak <ubizjak@gmail.com>
    Signed-off-by: default avatarIngo Molnar <mingo@kernel.org>
    Cc: Will Deacon <will@kernel.org>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Boqun Feng <boqun.feng@gmail.com>
    Cc: Mark Rutland <mark.rutland@arm.com>
    Cc: Linus Torvalds <torvalds@linux-foundation.org>
    Cc: linux-kernel@vger.kernel.org
    e01cc1e8
gen-atomic-fallback.sh 8.56 KB