[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Boot Dependancies - a weird wacky wonderful new idea



Avery Pennarun writes:
 > What's wrong with priority levels?  Programs start up in alphabetical order. 
 > I wish they would die in reverse-alphabetical order (then we could have
 > S99xdm and K99kdm, which would make the file-rc package look nicer) but
 > priority levels do exactly what you want -- they express boot-time
 > dependencies.

No.  I'd say priorities are a higher-level abstraction than real
deps.  You loose a lot of information when translating real deps into
priorities, which can make it difficult in case of deps changes: one
dep disapearing may well stay unnoticed, and thus not paralelized; one
appearing may eventually cause trouble...

 > We can achieve a huge degree of parallelism simply by running all boot
 > scripts of each priority level in parallel.  That is, run all scripts at
 > level 01 (and wait to finish), then run all scripts at level 02, and so on. 
 > To see why this should be "parallel enough," look at the large number of
 > scripts running at the default level 20.

...which would mean that level 20 is nearly all that can be
parallelized ?  The only other duplicate priorities on my system are
2 S10 and 2 S50...  I guess there may be some unnecessary distinct
levels down there.

 > The hardest thing would be keeping the log messages from getting tangled up. 
 > That shouldn't really be too hard for a C/C++ program to do.  I've done
 > something almost appropriate in my wvdial package (see class WvLog and
 > WvLogRcv).

Miquel told me some time ago of a boot-logging daemon he plans, that
would save these boot messages.  Maybe we should just modify boot
sctipts to redirect their outputs individually through a bootlog
facility, not unlike syslog ?  That would just have to be done in "rc"
itself !

Philip Hands writes:
 > This sounds like a job for make (which can run things in parallel)

/bin/make ?  That would just be the 3rd largest binary there, after
bash and tar :(

 > [1] like make /etc/init.d/deps/[KS]packagename be makefile fragments that
 >     get included into the master makefile.

sure "include /etc/init.d/deps/*" is an easy thing.

 > You can use make's load/job limiting options to tune the best number of things 
 > to run at once.

Yes.


Maybe we can just add a series of #ifdef in make sources to make a
/bin/boot-make that would have small footprint both in RAM and in / ?
But maybe it's not worth the time to do it ?

-- 
Yann Dirson    <ydirson@mygale.org> | Stop making M$-Bill richer & richer,
isp-email:   <ydirson@a2points.com> |     support Debian GNU/Linux:
debian-email:   <dirson@debian.org> |         more powerful, more stable !
http://www.mygale.org/~ydirson/     | Check <http://www.debian.org/>


--
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


Reply to: