[PATCH v2 cmpxchg 0/3] Provide emulation for one-byte cmpxchg() for v6.12

From: Paul E. McKenney
Date: Wed Aug 21 2024 - 14:02:27 EST


Hello!

This series provides an emulation function for one-byte cmpxchg(),
and uses it for the remaining architectures not supporting these in
hardware and not providing emulation. The emulation is in terms of
the fully ordered four-byte cmpxchg() that is supplied by all of these
architectures. The emulation has been used in mainline since v6.9
by csky.

Once this emulation is in place for all architectures needing
it, RCU Tasks will use this capability in place of the current
rcu_trc_cmpxchg_need_qs() open-coding of this emulation.

1. xtensa: Emulate one-byte cmpxchg.

2. ARC: Emulate one-byte cmpxchg.

3. sh: Emulate one-byte cmpxchg.

Changes since v1:

o Add acked-by tags.

Thanx, Paul

------------------------------------------------------------------------

arc/Kconfig | 1 +
arc/include/asm/cmpxchg.h | 6 ++++--
sh/Kconfig | 1 +
sh/include/asm/cmpxchg.h | 3 +++
xtensa/Kconfig | 1 +
xtensa/include/asm/cmpxchg.h | 2 ++
6 files changed, 12 insertions(+), 2 deletions(-)