HomeFreeBSD

Add a critical section in turnstile_unpend() from before dropping the
rS136150Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Add a critical section in turnstile_unpend() from before dropping the
turnstile chain lock until after making all the awakened threads
runnable. First, this fixes a priority inversion race. Second, this
attempts to finish waking up all of the threads waiting on a turnstile
before doing a preemption.

Reviewed by: Stephan Uphoff (who found the priority inversion race)

Details

Provenance
jhbAuthored on
Parents
rS136149: MFC of v1.6: set tc_quality field of struct before calling tc_init(),
Branches
Unknown
Tags
Unknown

Event Timeline