From: Miod Vallat Subject: Re: improve spinning in mtx_enter To: Jeremie Courreges-Anglas Cc: Alexander Bluhm , Mark Kettenis , Martin Pieuchot , mjguzik@gmail.com, tech@openbsd.org, gkoehler@openbsd.org Date: Wed, 27 Mar 2024 19:56:52 +0000 > Shouldn't powerpc64 and other affected archs (mips64, powerpc, maybe > m88k?) switch to: > > #define CPU_BUSY_CYCLE() __asm volatile("" ::: "memory") That wouldn't hurt. In the m88k case that won't change a thing (and I think it won't change a think on gcc platforms). [Actually, RusticBSD has switched to an actual cpu_busy_cycle() function in order to implement a 88110 cpu misbehaviour workaround, but until the OpenBSD/luna88k kernel ever supports the oh-so-rare-none-of-the-known-machines-is-in-working-condition Luna 2010 models, there is no need to port that change to OpenBSD] > I managed to test this on riscv64 (Hifive Unmatched) and I get no > visible improvement there. That's because all riscv64 hardware is crap^W^W^W^W^W its performance is unmatched and thus can't be improved since it's already at its best.