[PATCH v2 0/4] locking/atomic: arch_cmpxchg[64]_local undefined

2023-11-04 Thread wuqiang.matt
This patch series implement arch_cmpxchg[64]_local for arc, openrisc and hexagon. For architectures that support native cmpxchg, we'd like to implement arch_cmpxchg[64]_local with the native variants of supported data size. If not, the generci_cmpxchg[64]_local will be used. wuqiang.matt (4): l

[PATCH v2 1/4] locking/atomic: arc: data size checking in arch_cmpxchg

2023-11-04 Thread wuqiang.matt
Macro __cmpxchg() renamed to __cmpxchg_32() to emphasize it's explicit support of 32bit data size, BUILD_BUG_ON() added to avoid any possible misuses with unsupported data types. In case CONFIG_ARC_HAS_LLSC is undefined, arch_cmpxchg() uses spinlock to accomplish SMP-safety, so the BUILD_BUG_ON ch

[PATCH v2 2/4] locking/atomic: arc: arch_cmpxchg[64]_local undefined

2023-11-04 Thread wuqiang.matt
For architectures that support native cmpxchg, we'd like to implement arch_cmpxchg[64]_local with the native variants of supported data size. If not, the generci_cmpxchg[64]_local will be used. Signed-off-by: wuqiang.matt --- arch/arc/include/asm/cmpxchg.h | 28 1 fi

[PATCH v2 3/4] locking/atomic: openrisc: arch_cmpxchg[64]_local undefined

2023-11-04 Thread wuqiang.matt
For architectures that support native cmpxchg, we'd like to implement arch_cmpxchg[64]_local with the native variants of supported data size. If not, the generci_cmpxchg[64]_local will be used. Signed-off-by: wuqiang.matt --- arch/openrisc/include/asm/cmpxchg.h | 6 ++ 1 file changed, 6 inse

[PATCH v2 4/4] locking/atomic: hexagon: arch_cmpxchg[64]_local undefined

2023-11-04 Thread wuqiang.matt
For architectures that support native cmpxchg, we'd like to implement arch_cmpxchg[64]_local with the native variants of supported data size. If not, the generci_cmpxchg[64]_local will be used. Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202310272207.tlpflya4-...