On Mon, 2008-09-08 at 00:52 +0200, Mark wrote: > @Arjan, > Can you tell if you made code adjustments to readahead? or didn't you > use that (because you said "a form of").. > And any other code adjustments.. > > Men.. just tell us how you did this ^_^ Hmm...well, first off the best way to speed up the kernel portion of the boot process would be to identify all the kernel modules you load, and load them in parallel. You might need to tweak some of them to do scheduled sleeps instead of busy loops when waiting for initialization tasks to complete. Then of course upstart and parallel service starts. The biggest time waster in the boot process is serial initialization delay waits. Maybe you have a SCSI controller (the old parallel kind ;-) that needs to scan for devices. There is a 256ms timeout (nominally) for each device *not* present on the bus. If you have a single disk on a wide bus, that's 14 timeouts you need to wait through at 1/4 second each. If you can have your net controllers, your USB controllers, and other modules all doing this kind of stuff simultaneously, you greatly speed up the boot process. Thanks to udev, persistent device naming, and being able to do things like set the eth number by MAC address instead of order that the ethernet drivers are loaded, you can really dump a lot of module loads into the kernel in parallel and then just wait for them all to complete. In that scenario your total time wait is the time it takes your slowest module to initialize (roughly). Similarly with user space services. Do the same basic thing. Readahead can be a tremendous help if you can actually start it before all of the kernel modules are done initializing. For instance, USB devices have a settle delay before they are scanned, so starting readahead as soon as the SATA driver and drive are up means the system can be doing something useful while USB is finishing up. However, I suspect Arjan's system doesn't wait on any USB devices, so at most he has host controllers but nothing slow to initialize. Even just some USB disks might be enough to blow that 5 second load time. Am I close Arjan? -- Doug Ledford <dledford@xxxxxxxxxx> GPG KeyID: CFBFF194 http://people.redhat.com/dledford Infiniband specific RPMs available at http://people.redhat.com/dledford/Infiniband
Attachment:
signature.asc
Description: This is a digitally signed message part
-- fedora-devel-list mailing list fedora-devel-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/fedora-devel-list