On 6/13/12 2:16 AM, Poul-Henning Kamp wrote:
> In message <alpine.bsf.2.00.1206130909310.73...@wojtek.tensor.gdynia.pl>, 
> Wojci
> ech Puchar writes:
> 
> One of the major slowdowns is that we do all the device drivers
> serially & synchronously.
Yes definitely.

I have been looking into how to potentially defer or parallelize
device_attach'es. Defer is turning out to be hard enough since each
system is has different requirements to reach a state where it can
run /sbin/init. I've started with the John Baldwin's multipass work
and have a system stops probing/attaching devices and allows the boot
to continue on.

The remaining passes I'm triggering from userspace once the system is up.

This is all very crude at this point and has been an some work just
to understand how the kernel startup code all links together.

Note systemd looks interesting from from a demand based startup scheme
much like apples launchd. (note systemd uses linux process groups so
porting it would take some effort)

Ideally it would be nice to get to the point where many devices are only
attached once there is a demand for it. Say network interfaces for
example: attach it once the init scripts need to config it and then
hopefully in an async fashion. Unfortunately that will require locking
a bit more fine grain than the current "Giant" lock.

-Russell
> 

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to