Index | Thread | Search

From:
Miod Vallat <miod@online.fr>
Subject:
Re: improve spinning in mtx_enter
To:
Jeremie Courreges-Anglas <jca@wxcvbn.org>
Cc:
Alexander Bluhm <bluhm@openbsd.org>, Mark Kettenis <mark.kettenis@xs4all.nl>, Martin Pieuchot <mpi@openbsd.org>, mjguzik@gmail.com, tech@openbsd.org, gkoehler@openbsd.org
Date:
Wed, 27 Mar 2024 19:56:52 +0000

Download raw body.

Thread
> 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.