Re: [PATCH] alpha: Select ARCH_SUPPORTS_ATOMIC_RMW
Magnus Lindholm <[email protected]>
| Newsgroups | org.kernel.vger.linux-alpha,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CA+=Fv5RkXJrAx7SoORyM2Gh-28VOcvrsHSYjraeMXYzRkZkAYg@mail.gmail.com> |
On Fri, Apr 3, 2026 at 5:03 PM Matt Turner <[email protected]> wrote: > > Alpha has native LL/SC instructions (LDL_L/STL_C, LDQ_L/STQ_C) that > provide atomic read-modify-write capability, and already selects > ARCH_HAVE_NMI_SAFE_CMPXCHG. > > Selecting ARCH_SUPPORTS_ATOMIC_RMW enables MUTEX_SPIN_ON_OWNER and > RWSEM_SPIN_ON_OWNER on SMP, allowing optimistic spinning on contended > locks rather than immediately sleeping. > > Assisted-by: Claude:claude-opus-4-6 > Signed-off-by: Matt Turner <[email protected]> > --- > arch/alpha/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git ./arch/alpha/Kconfig ./arch/alpha/Kconfig > index 4329743757e3..57c91ed67b71 100644 > --- ./arch/alpha/Kconfig > +++ ./arch/alpha/Kconfig > @@ -10,6 +10,7 @@ config ALPHA > select ARCH_MODULE_NEEDS_WEAK_PER_CPU if SMP > select ARCH_NO_PREEMPT > select ARCH_NO_SG_CHAIN > + select ARCH_SUPPORTS_ATOMIC_RMW > select ARCH_SUPPORTS_PAGE_TABLE_CHECK > select ARCH_USE_CMPXCHG_LOCKREF > select FORCE_PCI > -- Hi Matt, Support for pre-BWX CPUs has been removed from the kernel for quite some time, so all supported Alpha systems now have full byte/word instruction support along with the existing LL/SC primitives (LDL_L/STL_C, LDQ_L/STQ_C). Given that, selecting ARCH_SUPPORTS_ATOMIC_RMW at the architecture level accurately reflects the capabilities of the CPUs we actually support today. That said, there have also been efforts (by Maciej Rozycki) to reintroduce support for non-BWX Alpha systems. If that happens, we may need to revisit the rationale here, since the "all supported systems have BWX" argument would no longer apply as stated? The patch itself fails to apply cleanly on top of v7.0-rc1, I guess there are entries in your arch/alpha/Kconfig that do not match what is in v7.0-rc1? Regards Magnus