https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=292167

--- Comment #4 from [email protected] ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=8df2e542146801fd01675e56724eaa567d04c209

commit 8df2e542146801fd01675e56724eaa567d04c209
Author:     Adrian Chadd <[email protected]>
AuthorDate: 2026-01-03 22:52:14 +0000
Commit:     Adrian Chadd <[email protected]>
CommitDate: 2026-01-04 02:27:48 +0000

    powerpc: put the isync inside the TD_LOCK() checking loop

    Fix a narrow window where the lock is unlocked but the checking CPU
    hasn't flushed things appropriately.

    Inside this window the CPU inside cpu_switch() will loop forever thinking
    the destination thread is still blocked/locked even though it is not.

    This manifests as the system hanging after starting all APs.

    I've seen this reliably trigger in qemu-system-ppc64 running power9 pseries
    guests; the more CPUs the more likely it triggers at boot.

    PR: kern/292167
    Differential Revision:  https://reviews.freebsd.org/D54478
    Reviewed by:    jhibbits
    MFC after:      1 week
    Relnotes:       yes

 sys/powerpc/powerpc/swtch32.S | 2 +-
 sys/powerpc/powerpc/swtch64.S | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.

Reply via email to