HomeFreeBSD

Repeat the spinlock_enter/exit pattern from amd64 on other architectures to

Description

Repeat the spinlock_enter/exit pattern from amd64 on other architectures to
fix an assert violation introduced in r355784. Without this spinlock_exit()
may see owepreempt and switch before reducing the spinlock count. amd64
had been optimized to do a single critical enter/exit regardless of the
number of spinlocks which avoided the problem and this optimization had
not been applied elsewhere.

Reported by: emaste
Suggested by: rlibby
Discussed with: jhb, rlibby
Tested by: manu (arm64)

Details

Provenance
jeffAuthored on
Parents
rS355818: Add compat.linux.emul_path, so it can be set to something other
Branches
Unknown
Tags
Unknown