Boot speedup with readahead

Arjan van de Ven arjan at infradead.org
Mon Sep 8 04:34:52 UTC 2008


On Sun, 07 Sep 2008 21:11:56 -0400
Doug Ledford <dledford at redhat.com> wrote:

> 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.

close but no cigar; my fastboot git tree is used yes but not for modules
(we don't use modules for the devices in the system; they're so bog
standard that there's no value in using modules for them, and modules
are just too slow)

>  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.

yeah we don't use upstart; it made things slower not faster.

> 
> 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.  

this is where kernel fastboot comes in.
> 
> 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. 

we only start readahead after the kernel is done... (but otherwise very
early)

(it's not the fedora readahead but a totally newly written one)


-- 
If you want to reach me at my work email, use arjan at linux.intel.com
For development, discussion and tips for power savings, 
visit http://www.lesswatts.org




More information about the devel mailing list