Subject: Re: foo_init()s in main() [was: CVS commit: src/sys]
To: Jason Thorpe <>
From: Bill Studenmund <>
List: tech-kern
Date: 11/22/2005 13:53:24
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, Nov 22, 2005 at 09:57:52AM -0800, Jason Thorpe wrote:
> On Nov 22, 2005, at 1:50 AM, Simon Burge wrote:
> >Martin Husemann wrote:
> >
> >In a very brief nut-shell there's a macro SYSINIT:
> >
> >	#define SYSINIT(uniquifier, subsystem, order, func, ident) \
> >	  ...
> >
> >which builds a link set of initialisation functions.


> I'd just like to state for the record that I don't like the FreeBSD =20
> SYSINIT stuff.  It still requires a centralized list of "subsystems", =20
> and still explicitly encodes the order.  So, now instead of looking =20
> in one place for the order of initialization, you have to look in a =20
> bunch of random places.
> I would much prefer we go with a lazy initialization scheme.

How do you think we should encode dependencies? I agree that the FreeBSD=20
way is uncentralized. However someone who studies the whole system can=20
tune it so that things get loaded in the right order (just pick the right=
set of "FIRST", "SECOND", and so on). How would we do that w/o the master=
list of values?

Take care,


Content-Type: application/pgp-signature
Content-Disposition: inline

Version: GnuPG v1.2.3 (NetBSD)