Page MenuHomeFreeBSD

Run callouts during infinite waiting inside cv_wait
ClosedPublic

Authored by wma_semihalf.com on Nov 13 2015, 12:36 PM.

Details

Summary
During cv_wait we may be waiting for an event triggered by callout.
Run callbacks here to avoid code blocking.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

wma_semihalf.com retitled this revision from to Run callouts during infinite waiting inside cv_wait.
wma_semihalf.com updated this object.
wma_semihalf.com edited the test plan for this revision. (Show Details)
wma_semihalf.com added reviewers: hselasky, zbb.
sys/boot/kshim/bsd_kernel.c
153 ↗(On Diff #10153)

Not sure how that got here, will be removed.

wma_semihalf.com updated this object.
hselasky added inline comments.Nov 17 2015, 1:22 PM
sys/boot/kshim/bsd_kernel.c
158 ↗(On Diff #10261)

This lock should be moved after the delay(1000);

hselasky accepted this revision.Nov 18 2015, 8:59 AM
hselasky edited edge metadata.

Approved!

This revision is now accepted and ready to land.Nov 18 2015, 8:59 AM
hselasky added inline comments.Nov 19 2015, 8:27 AM
sys/boot/kshim/bsd_kernel.c
158 ↗(On Diff #10287)

Hi,
I think the long delay might affect the performance of some existing boot code. Could you reduce the delay to 1us and increase the check (++time >= (1000000 / hz)) ?

--HPS

This revision was automatically updated to reflect the committed changes.