[PATCH v3 0/5] arch,locking/atomic: add arch_cmpxchg[64]_local

From: wuqiang.matt
Date: Tue Nov 21 2023 - 09:25:33 EST


Archtectures arc, openrisc and hexagon haven't arch_cmpxchg_local()
defined, so the usecase of try_cmpxchg_local() in lib/objpool.c can
not pass kernel building by the kernel test robot.

Patch 1 improves the data size checking logic for arc; Patches 2/3/4
implement arch_cmpxchg[64]_local for arc/openrisc/hexagon. Patch 5
defines arch_cmpxchg_local as existing __cmpxchg_local rather the
generic variant.

wuqiang.matt (5):
arch,locking/atomic: arc: arch_cmpxchg should check data size
arch,locking/atomic: arc: add arch_cmpxchg[64]_local
arch,locking/atomic: openrisc: add arch_cmpxchg[64]_local
arch,locking/atomic: hexagon: add arch_cmpxchg[64]_local
arch,locking/atomic: xtensa: define arch_cmpxchg_local as
__cmpxchg_local

arch/arc/include/asm/cmpxchg.h | 40 ++++++++++++++++++----
arch/hexagon/include/asm/cmpxchg.h | 51 ++++++++++++++++++++++++++++-
arch/openrisc/include/asm/cmpxchg.h | 6 ++++
arch/xtensa/include/asm/cmpxchg.h | 2 +-
4 files changed, 91 insertions(+), 8 deletions(-)

--
2.40.1