Module Name: src Committed By: thorpej Date: Wed Aug 25 04:13:42 UTC 2021
Modified Files: src/sys/arch/alpha/include: mutex.h src/sys/arch/arm/include: mutex.h src/sys/arch/ia64/include: mutex.h src/sys/arch/m68k/include: mutex.h src/sys/arch/mips/include: mutex.h src/sys/arch/or1k/include: mutex.h src/sys/arch/riscv/include: mutex.h src/sys/arch/sh3/include: mutex.h src/sys/arch/sparc64/include: mutex.h src/sys/arch/vax/include: mutex.h src/sys/kern: kern_mutex.c Log Message: - In kern_mutex.c, if MUTEX_CAS() is not defined, define it in terms of atomic_cas_ulong(). - For arm, ia64, m68k, mips, or1k, riscv, vax: don't define our own MUTEX_CAS(), as they either use atomic_cas_ulong() or equivalent (atomic_cas_uint() on m68k). - For alpha and sparc64, don't define MUTEX_CAS() in terms of their own _lock_cas(), which has its own memory barriers; the call sites in kern_mutex.c already have the appropriate memory barrier calls. Thus, alpha and sparc64 can use default definition. - For sh3, don't define MUTEX_CAS() in terms of its own _lock_cas(); atomic_cas_ulong() is strong-aliased to _lock_cas(), therefore defining our own MUTEX_CAS() is redundant. Per thread: https://mail-index.netbsd.org/tech-kern/2021/07/25/msg027562.html To generate a diff of this commit: cvs rdiff -u -r1.10 -r1.11 src/sys/arch/alpha/include/mutex.h cvs rdiff -u -r1.25 -r1.26 src/sys/arch/arm/include/mutex.h cvs rdiff -u -r1.5 -r1.6 src/sys/arch/ia64/include/mutex.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/m68k/include/mutex.h cvs rdiff -u -r1.8 -r1.9 src/sys/arch/mips/include/mutex.h cvs rdiff -u -r1.2 -r1.3 src/sys/arch/or1k/include/mutex.h cvs rdiff -u -r1.3 -r1.4 src/sys/arch/riscv/include/mutex.h cvs rdiff -u -r1.10 -r1.11 src/sys/arch/sh3/include/mutex.h cvs rdiff -u -r1.6 -r1.7 src/sys/arch/sparc64/include/mutex.h cvs rdiff -u -r1.15 -r1.16 src/sys/arch/vax/include/mutex.h cvs rdiff -u -r1.97 -r1.98 src/sys/kern/kern_mutex.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.