Subject: Re: foo_init()s in main() [was: CVS commit: src/sys]
To: Jason Thorpe <thorpej@shagadelic.org>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-kern
Date: 11/22/2005 13:53:24
--TRYliJ5NKNqkz5bu
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:
>=20
> On Nov 22, 2005, at 1:50 AM, Simon Burge wrote:
>=20
> >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.

[snip]

> 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.
>=20
> 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=
=20
set of "FIRST", "SECOND", and so on). How would we do that w/o the master=
=20
list of values?

Take care,

Bill

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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (NetBSD)

iD8DBQFDg5NUWz+3JHUci9cRAnGkAJ9EZw/tfQMzi6vscBNWV42xsz23fACffmUY
O1ypKmg1V7aBmg4IHBAVshI=
=MXfl
-----END PGP SIGNATURE-----

--TRYliJ5NKNqkz5bu--