Page MenuHomeFreeBSD

if_detach_internal: defer reading of vnet_shutdown until needed
AcceptedPublic

Authored by kevans on Dec 12 2019, 4:01 PM.

Details

Reviewers
bz
thj
kp
Summary

A lot can happen between the detach starting and when we actually need to know if the vnet's shutting down, including lots of sleeping. Given that only the one spot needs to actually check if we're shutting down, get rid of the local.

While here, fix the ordering of vnet_sysuninit_shutdown so that it happens earlier in the shutdown process. Right now, it's at SI_SUB_VNET_DONE+SI_ORDER_FIRST which happens after vnet_if_return @ SI_SUB_VNET_DONE+SI_ORDER_ANY in SYSUNINIT-land, where the ordering is reversed. Put vnet_sysuninit_shutdown at SI_ORDER_ANY and drop ifnet return to SI_ORDER_MIDDLE.

Diff Detail

Repository
rS FreeBSD src repository
Lint
Lint Skipped
Unit
Unit Tests Skipped
Build Status
Buildable 28105

Event Timeline

kevans created this revision.Dec 12 2019, 4:01 PM
kevans updated this revision to Diff 65555.Dec 12 2019, 6:09 PM
kevans edited the summary of this revision. (Show Details)

Also fix the ordering so vnet_shutdown gets set earlier in the shutdown process, before we start moving ifnets back home.

kp accepted this revision.Dec 13 2019, 12:57 AM
This revision is now accepted and ready to land.Dec 13 2019, 12:57 AM