[PATCH RFC 0/2] Add optimization support for implementations using near atomics

Yicong Yang yangyicong at huawei.com
Fri Sep 19 02:17:45 PDT 2025


From: Yicong Yang <yangyicong at hisilicon.com>

Add optimization support for implementations using near atomics, in prior
reimplement __xchg* with __lse_ll_sc_body() since currently kernel doesn't
support recursive alternatives. Though patch 1/2 is a preparation for the
optimization in patch 2/2, it's a pure refactor and should be standalone
to improve the code.

A previous discussion could be found in:
https://lore.kernel.org/linux-arm-kernel/aJXhHVEIdafxcLP_@willie-the-truck/t/#u

For basic principles for near-atomics and far-atomics:
https://developer.arm.com/documentation/102714/0100/Atomic-fundamentals

Yicong Yang (2):
  arm64: atomics: reimplement __xchg* with __lse_ll_sc_body()
  arm64: atomics: add optimization support for implementations using
    near atomics

 arch/arm64/Kconfig                    | 18 +++++++
 arch/arm64/include/asm/atomic_ll_sc.h | 40 ++++++++++++++++
 arch/arm64/include/asm/atomic_lse.h   | 68 +++++++++++++++++++++++++++
 arch/arm64/include/asm/cmpxchg.h      | 63 ++++++++-----------------
 arch/arm64/kernel/cpufeature.c        | 26 ++++++++++
 arch/arm64/tools/cpucaps              |  1 +
 6 files changed, 173 insertions(+), 43 deletions(-)

-- 
2.24.0




More information about the linux-arm-kernel mailing list