CVSROOT:        /cvs
Module name:    src
Changes by:     [email protected]        2025/11/17 22:24:38

Modified files:
        sys/arch/powerpc64/include: atomic.h 

Log message:
Change powerpc64 memory barriers to "sync"

The switch from "isync" to "sync" fixes the parking mutex on a 4-core
IBM POWER9, and proves that "isync" is the wrong barrier.

Back in June 2024, I suspected that "isync" was wrong, gave an
explanation, and proposed a diff switching to "sync" in
https://marc.info/?l=openbsd-tech&m=171816471216159&w=2

I forgot the diff, and lacked evidence of a problem until this month
(November 2025), when the parking mutex in /sys/kern/kern_lock.c
caused lockups.  The 4-core POWER9 froze in "make -j4 build" before
finishing libc, but the switch from "isync" to "sync" fixes it.

ok jca@ dlg@

Reply via email to