Subject: Re: dynamic configuration (was Re: PR#4094)
To: Greywolf <greywolf@starwolf.com>
From: Matthew Jacob <mjacob@feral.com>
List: tech-kern
Date: 08/27/2000 22:12:57
> On Sun, 27 Aug 2000, Matthew Jacob wrote:
> 
> # > Not that I'd be against dynamic kernel loading, mind you, since then
> # > only the needed devices would be loaded at boot time (kind of like
> # > a working LKM on steroids), but the overhead that I've seen as-
> # > sociated with this scheme has proven to be pretty high, not
> # 
> # I sure would like to see you quote some *real* numbers here (memory load,
> # actual comparative speed of boot) on this for several systems that actually do
> # this (not just Solaris). We've talked about this via email before, and, uh, I
> # don't believe you're stating this fairly.
> 
> Does "feel of comparative speed" count?

Sure. But only in system-to-system comparisons. You can say "SunOS/NetBSD boot
faster than Solaris". But saying "Auto loadable drivers suck because Solaris
boots slower than SunOS and NetBSD" is, uh, faulty reasoning.

> It FEELS a hellova lot faster to watch a BSD system boot than a Solaris
> system, IMHO.  I'm not trying to nix things completely, here, but that's
> how things feel to me.

That's why I raised the issue as "compare all systems that have autoloadable
drivers".

> I have a 2x450 MHz Ultra-60 in my cube which I watch boot up, and then I
> compare it to my UP PIII-450 running NetBSD, and the PIII comes up MUCH
> quicker.  I'm counting post-POST, if you know what I mean.  From bootload
> to multi-user goes much quicker on the BSD box -- it outstrips the Solaris
> U60 by a good fifteen-twenty seconds.

Sure- but do an apple-apple comparison (or sparc-sparc) comparison. And again,
don't just infer that Solaris is the best auto-loadable driver system (it
isn't). I would venture to say that you could build, even for Sparc using the
OBP callback drivers, an autoloading version of NetBSD/FreeBSD that would boot
at a speed that you could not distinguish from a statically linked kernel.

An alternative mechanism, which I proposed way back when at Sun, is to also
load a statically linked completely loaded kernel, with all drivers rounded
out to page size and do page reclaims on those that don't probe. I'm sure
somebody here could cheeze this into existence in a couple of hours.

> Like I said, I'd not be against RTL of a kernel and its modules as long as
> the performance can keep up.

You want better boot performance? Get rid of mandatory SCSI bus settle time
that is now currently enforced to default to 2 seconds per scsi bus (requires
fixing HBA drivers to force negotiations to narrow/async as they should
anyway).

What's your metric for boot performance, anyway? To login prompt? You want to
do lazy evaluation of filesystem other than root, I would imagine.

> See above, that's all.  I don't mean in any way, shape or form that it
> takes more space/memory/disk, only that on Solaris it's *slow*.  D'ya
> think we could do this in a more time-efficient manner?

Of course.

> That registry should probably exist somewhere under /sys/conf, I would think.

As long as it's chflag'd to not be removable.

-matt