On 29/10/2025 13:47, Arnd Bergmann wrote: > 5. armv6k+vfpv3d16: Most ARMv6/v7 machines, including Raspberry > Pi zero/1 but not OMAP2 (Nokia N800/N810). Loses THUMB2 support > and v7/v8 CPU barriers among other minor differences.
As maintainer of raspbian, I can say the memory barrier issue is one of the bigger thorns in our side and is the reason we continue to configure gcc for armv6 rather than armv6k. For the uninitiated, arm added memory barrier instructions in armv6k, as instructions on the system coprocessor (aka CP15). When targetting armv6k, compilers use these instructions to implement acquire/release/seqcst atomics. With armv7-a, arm deprecated the CP15 barriers and introduced the dmb instruction. The problem is that arm64 kernels by default trap the armv6k memory barriers into the kernel and emulate them. Asside from being slow this can also cause hangs if the optimiser moves a barrier inside a load-exclusive/store-exclusive loop. I believe there are also some newer CPU cores that simply don't support the CP15 barriers at all.

