Page MenuHomeFreeBSD

Use SCHEDULER_STOPPED() in cv_*wait*() instead of checking panicstr.
ClosedPublic

Authored by jhb on Mar 1 2016, 10:22 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Sep 30, 8:53 PM
Unknown Object (File)
Mon, Sep 23, 4:13 PM
Unknown Object (File)
Wed, Sep 18, 3:23 AM
Unknown Object (File)
Aug 29 2024, 8:54 PM
Unknown Object (File)
Aug 23 2024, 1:25 AM
Unknown Object (File)
Aug 17 2024, 6:19 AM
Unknown Object (File)
Aug 13 2024, 1:27 AM
Unknown Object (File)
Aug 9 2024, 2:14 PM
Subscribers

Details

Summary

Use SCHEDULER_STOPPED() in cv_*wait*() instead of checking panicstr.

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

jhb retitled this revision from to Use SCHEDULER_STOPPED() in cv_*wait*() instead of checking panicstr..
jhb updated this object.
jhb edited the test plan for this revision. (Show Details)
jhb added a reviewer: kib.
kib edited edge metadata.

Doesn't 'cold' accesses somewhat defeat the optimization of SCHEDULER_STOPPED() ?

This revision is now accepted and ready to land.Mar 1 2016, 10:34 PM

Possibly, but this is what the sleep functions in kern_synch.c do. Longer term I plan to split these up to permit unbounded sleeps while cold (I think I now want to just panic outright for sleeps with a timeout while cold. The round-robin thing I first implemented in my patch to arch@ wasn't that great since some code depends on actually sleeping for the requested time ala pause()).

This revision was automatically updated to reflect the committed changes.