On Fri, 2004-02-06 at 09:32, Bill Nottingham wrote:
Shahms King (shahms(a)shahms.com) said:
Some discussion points:
- python is somewhat heavyweight. Moreover, you'd need to rearchitect
other things to make sure /usr is there before rc starts. :)
- Dependency headers are already specified in the LSB, might as well
use those tags
- We've done testing with some of these alternatives. It *really doesn't*
provide that much of a speedup just by paralellizing things. At
most we saw 10-15%.
IMO, the way to faster boot is simple, yet hard: Do Less.
Thanks for that, by the way. Of course, all of the systems you pointed
out suffer from the fact that they are replacing init, or require major
changes to existing initscripts. I'm just replacing rc (I happen to
*like* SysV initscripts -- for the most part). Additionally, the lack
of /usr was an integral concern of mine, which is why the "proposed" way
to start this is from the traditional rc:
if [ -x /usr/bin/python ]; then
exec /usr/bin/python /etc/rc.py
Again, my primary motivation is making what improvements I can while
maintaining complete backwards-compatibility for situations where the
"new-fangled" approach can't work and to ensure a deterministic startup
order for scripts without the appropriate headers.
Of course, rewriting it as a statically (or minimally) linked C program
is also possible, the python is mostly proof-of-concept.
Man, that's a lot of headers to support, fortunately I really only care
about "Required-Start" ;-)
I should have a non-parallel version finished pretty soon and I will put
it up somewhere for anyone who is interested.
If I can get 10-15% "for free" (i.e. an optional component that will be
used if available) I'd say it's worth it.
Shahms King <shahms(a)shahms.com>