summaryrefslogtreecommitdiff
path: root/arch/csky/Kconfig
diff options
context:
space:
mode:
authorPaul E. McKenney <paulmck@kernel.org>2024-03-18 00:44:38 +0300
committerPaul E. McKenney <paulmck@kernel.org>2024-04-10 08:06:00 +0300
commita88d970c8bb55dc20f319ce3e33c7ce0e9647480 (patch)
tree3018a3725478213510ae0620aac3c54ca6996149 /arch/csky/Kconfig
parentd428032b3524e8fc75cf0bcc86b409df8ddf532b (diff)
downloadlinux-a88d970c8bb55dc20f319ce3e33c7ce0e9647480.tar.xz
lib: Add one-byte emulation function
Architectures are required to provide four-byte cmpxchg() and 64-bit architectures are additionally required to provide eight-byte cmpxchg(). However, there are cases where one-byte cmpxchg() would be extremely useful. Therefore, provide cmpxchg_emu_u8() that emulates one-byte cmpxchg() in terms of four-byte cmpxchg(). Note that this emulations is fully ordered, and can (for example) cause one-byte cmpxchg_relaxed() to incur the overhead of full ordering. If this causes problems for a given architecture, that architecture is free to provide its own lighter-weight primitives. [ paulmck: Apply Marco Elver feedback. ] [ paulmck: Apply kernel test robot feedback. ] [ paulmck: Drop two-byte support per Arnd Bergmann feedback. ] Link: https://lore.kernel.org/all/0733eb10-5e7a-4450-9b8a-527b97c842ff@paulmck-laptop/ Signed-off-by: Paul E. McKenney <paulmck@kernel.org> Acked-by: Marco Elver <elver@google.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org> Cc: Douglas Anderson <dianders@chromium.org> Cc: Petr Mladek <pmladek@suse.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: <linux-arch@vger.kernel.org>
Diffstat (limited to 'arch/csky/Kconfig')
0 files changed, 0 insertions, 0 deletions