Subject: Re: dynamic configuration (was Re: PR#4094)
To: Matthew Jacob <mjacob@feral.com>
From: Greywolf <greywolf@starwolf.com>
List: tech-kern
Date: 08/27/2000 19:09:08
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?

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.

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.

# You have to have a kernel linker. In FreeBSD, kern_linker.o, subr_module.o and
# subr_kobj.o adds about 10K of text/data in a 300K generic kernel. The actual
# runtime linker in Solaris is about the same- maybe a bit beefier, but about
# the same.

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

# The speed at which modules are loaded depends on the mechanism you use. In
# Solaris, it's darned slow. That's because most of it (early on) is done via
# callbacks to the PROM driver.
# 
# But when you say "pretty high", I sure would like to know what you mean.

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?

Tha above size requirements stated are not too bad, actually...

# > to mention that if you put in a new driver somewhere and somehow
# > rearrange the ordering of the major numbers, it can be a headache.
# > I'd like to see the drivers declare their own major numbers, possibly
# > maintaining a sparse numbering scheme.  It would match most closely
# > what we have today, except that the driver would declare its number
# > (and type) on load rather than having a big ?devsw[] compiled in.
# 
# Drivers should not declare a centrally contended resource unless there's a
# central registry for such major numbers. Drivers *should* create minor
# nodes are control that allocation (possibly with hints for name binding)
# since it is only the driver that knows what the minor bits mean.

Agreed, 100%.  The idea is that the resource would not be centrally contended.

That registry should probably exist somewhere under /sys/conf, I would think.
;-)

# -matt


				--*greywolf;
--
BSD: free yourself from Stallmanist thought!