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

Re: TODO for etch ?

On Sat, Jun 18, 2005 at 10:14:27PM -0500, Gunnar Wolf wrote:
> Adam Majer dijo [Wed, Jun 15, 2005 at 01:15:00PM -0500]:
> > > - Change boot system, to one capable of handling dependencies and
> > >   parallell invocation, to speed up the boot process.
> > >  
> > >
> > Err.. Why? The current "slow" bootup is caused mostly by hardware
> > detection from my experience. Speeding up hardware detection or remove
> > it in favour of manual /etc/modules entries would speed up the boot
> > process a lot more than changing the boot process. If it ain't broke, do
> > not fix it.
> My systems have no hardware detection at all - But they start many
> daemons at boot time. Probably, say, Apache and Postgres could be
> started concurrently, saving some extra time.

That could "save" a grand total of about a second. Also, during
startup the bottleneck is the hard drive in many cases so starting concurrently
might not speed up your boot process significantly.

The biggest problem is debugging. Sure, you can fork and start all of
the processes concurrently, but what about if the start fails? You
also want to have some processes started before others so you need
asynchronous instead of synchronous waits... Blah..

Anyway, you can test your maximum speedup like this,

1. Get a list of all the /etc/init.d/ scripts you want to start.
2. Start the sequentially while timing them.
3. Now start them concurrently and time them. When all /etc/init.d/
scripts terminate, that is when you are done.
4. What is the difference?

If you are using bash for this, the easiest way might be to trap
SIGCHLD or something to check when the child terminates.

Alternatively, don't start Apache and Postgres on your workstation to
save a second or two in the boot process. :P

- Adam

Reply to: