Page MenuHomeFreeBSD

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

Authored by adrian on Jan 3 2026, 10:54 PM.
Tags
None
Referenced Files
Unknown Object (File)
Tue, Aug 25, 4:44 PM
Unknown Object (File)
Sat, Aug 15, 10:18 PM
Unknown Object (File)
Sat, Aug 15, 1:05 PM
Unknown Object (File)
Mon, Aug 10, 8:51 AM
Unknown Object (File)
Sat, Aug 8, 11:13 PM
Unknown Object (File)
Sat, Aug 8, 11:04 PM
Unknown Object (File)
Sat, Aug 8, 8:51 PM
Unknown Object (File)
Sat, Aug 8, 6:24 PM
Subscribers

Details

Summary

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

I've seen this reliably trigger in qemu-system-ppc64 running power9 pseries
guests.

PR: kern/292167

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

adrian added a reviewer: PowerPC.

do 32 bit as well, thanks jhibbits

This revision is now accepted and ready to land.Jan 3 2026, 11:44 PM