Subject: Re: Proposed rc.d changes....
To: Greywolf <greywolf@starwolf.com>
From: Luke Mewburn <lukem@wasabisystems.com>
List: tech-userlevel
Date: 02/20/2001 14:36:04
On Mon, Feb 19, 2001 at 06:50:52PM -0800, Greywolf wrote:
> I've just gone back and re-read the thread for this, well over six months
> since it got implemented (nigh approaching a year), and I have a serious
> question here:
> 
> 	- Has anyone at all considered the potential of, at system rc
> 	  run time,
> 		loading /etc/defaults/rc.conf
> 		loading /etc/rc.conf
> 	  ONCE and then just _sourcing_ the scripts with the same shell,
> 	  with perhaps a macro which tests to see if the requisite routine
> 	  has been loaded in order to avoid multiple sourcing/reading/
> 	  forking?
> 
> I'm looking into such a solution; if nobody else gets there first, I'll
> see what I can submit on this front.  It's not obvious to me at all that
> this has been done or even attempted.
> 
> It'd probably significantly decrease the startup time, especially on less
> well-endowed machines.

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? :)

Luke.