Date: Thu, 6 Aug 2009 11:08:42 -0400 From: John Baldwin <jhb@freebsd.org> To: Marko Zec <zec@freebsd.org> Cc: Perforce Change Reviews <perforce@freebsd.org>, Julian Elischer <julian@FreeBSD.org> Subject: Re: PERFORCE change 167065 for review Message-ID: <200908061108.42372.jhb@freebsd.org> In-Reply-To: <200908061404.n76E4IIF048503@repoman.freebsd.org> References: <200908061404.n76E4IIF048503@repoman.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 06 August 2009 10:04:18 am Marko Zec wrote: > http://perforce.freebsd.org/chv.cgi?CH=167065 > > Change 167065 by zec@zec_tpx32 on 2009/08/06 14:03:58 > > Merge Julian's updates to V_ instructions document. > Submitted by: julian > > Affected files ... > > .. //depot/projects/vimage/porting_to_vimage.txt#10 edit > > Differences ... > > ==== //depot/projects/vimage/porting_to_vimage.txt#10 (text+ko) ==== > > -#endif /* !_FOO_VFOO_H_ */ > -========================================================= > +On BOOT, the order of evaluation will be: > + In a NON-VIMAGE kernel where the module is compiled: > + MODEVENT, SYSINIT and VNET_SYSINIT both runm with order defined by their > + order declarations. {good foot shooting aterial if you get it wrong!} > > + In a VIMAGE kernel where the module is compiled: > + MODEVNET, SYSINIT and VNET_SYSINIT both runm with order defined by their > + order declarations. AND in addition, the VNET_SYSINIT being > + repeated once for every new jail/vnet. > > +On loading a vnet enabled kernel module after boot: > + MODEVENT("event = load"); > + SYSINIT() > + VNET_SYSINIT() for every existing jail > + AND in addition, VNET_SYSINIT being called for each new jail created. > > +On unloading of module: > + MODEVENT("event = quiesce") > + MODEVENT("event = unload") > + VNET_SYSUNINIT called for every jail/vnet > + SYSUNINIT > > +On system shutdown: > + effectively the same as unload > + {with exception of modevent?} On system shutdown MOD_SHUTDOWN is the only MODEVENT handler invoked. > +NOTICE that while the order of the SYSINIT and VNET_SYSINIT is reversed from > +that of SYSUNINIT and VNET_SYSUNINIT, MODEVENTS do not follow > +this rule and thus it is dangerous to initialise and uninitialise > +things which are order dependent using MODEVENTs. This is no longer true. MOD_QUIESCE and MOD_UNLOAD events now run in the reverse of the order that MOD_LOAD is invoked for a given kld during kldunload. This is true in both 7 and 8 now for several months. -- John Baldwin
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200908061108.42372.jhb>