Subject: Re: Proposed rc.d changes....
To: Luke Mewburn <lukem@wasabisystems.com>
From: Greywolf <greywolf@starwolf.com>
List: tech-userlevel
Date: 02/19/2001 22:38:03
On Tue, 20 Feb 2001, Luke Mewburn wrote:

# I have been working on a patch to do the following:
# 	- Only source /etc/rc.conf once (tested in load_rc_config
# 	  with a dinky multiple inclusion test). This effectively
# 	  means that /etc/defaults/rc.conf only gets loaded once
# 	  because /etc/rc.conf is what loads it.
#
# 	- If _rc_fast_and_loose != "", source all rc.d scripts into
# 	  the current shell rather than into subshells. This might
# 	  help on machines where forking is inefficient.
#
# 	- Other minor optimisations (use case instead of if to
# 	  compare strings, etc)
#
# I've been meaning to ask for testing from users with much slower
# machines than my laptop (a PIII-700), because I didn't notice any
# difference with my laptop with the patch.
#
# Any takers? (Or should I just post it here and have people post their
# before & after results? :)

I'll be happy to test -- I have a SS5/170 which could probably
benefit from just such a thing.

I'm also still looking into having several of the groups of daemons,
i.e. the old RPC, NFS, network and local daemons, have precursor/postcursor
holder scripts and code by which at rc run time (but not if invoked
separately) manage to print out, i.e.:

Starting RPC daemons: rpcbind ypserv ypbind yppasswdd.
Starting NFS daemons: nfsd statd lockd.
Starting System daemons: accounting amd timed screenblank rwhod.
Starting Networking daemons: rtsold rtadvd gated routed route6d rbootd rarpd
ntpd mrouted dhcrelay dhcpd bootparamd.
Starting Local daemons: printer xdm sshd sendmail inetd cron.

Now mind you, I've *just* seen how silly this might be, considering that,
e.g., lpd starts between mopd and local, xfs starts right after tmp is
cleared (I'd expect it right before xdm), ppp starts right after syslogd
(I'd expect it down somewhere around inetd)...well, there's obviously some
machinations I'm not understanding here (probably something that rcorder
doesn't nail down in a specific fashion given the lack of REQUIRE and
PROVIDE stuffs in there (yes, they're there but specified to a minimum,
as should be)) that would make this pretty impossible.

Sorry.  Never mind.

[yes I'm carrying this through as a conversation should there be some
other raving lunatic who thinks my thoughts aren't as whacked out as
they seem to be.]

# Luke.

But yeah, I'll be glad to test your implementation.

				--*greywolf;
--
NetBSD, Net Improvement.