HomeFreeBSD

locks: take the number of readers into account when waiting

Description

locks: take the number of readers into account when waiting

Previous code would always spin once before checking the lock. But a lock
with e.g. 6 readers is not going to become free in the duration of once spin
even if they start draining immediately.

Conservatively perform one for each reader.

Note that the total number of allowed spins is still extremely small and is
subject to change later.

MFC after: 1 week

Details

Provenance
mjgAuthored on
Parents
rS324334: Use ANSI C declarations.
Branches
Unknown
Tags
Unknown