very common kernel modules slow down the boot process

Harald Hoyer harald at redhat.com
Wed Apr 2 04:54:55 UTC 2008


Will Woods wrote:
> 
> On Apr 1, 2008, at 7:22 PM, Harald Hoyer wrote:
>> Compiling these modules, which are loaded on nearly every PC, in the 
>> kernel cuts down my boot time from 42s to 32s on my computer:
> 
> It's pretty well known that modprobe is slow. Heck, you've reported bugs 
> about this before:
> https://bugzilla.redhat.com/show_bug.cgi?id=249270 - modprobe is slow
…

udev (modprobe triggered from udev) only speeds up by 3s of those 10s ... so something else is going on.

> 
> The way they do early boot (the parts in our kernel & initrd) is 
> essentially the same as us. One interesting optimization is that they 
> support booting from a 'kernelcache' - a big fat image that has the 
> kernel with the modules needed to find the root device *already linked 
> in*. Weird. Other than that, as far as I can tell, it's basically just a 
> kernel+initrd with modules in it.
> 
> Once they're into the full system, they start up kextd, which loads 
> kernel module metadata and handles all further requests for module loading.
> 
> We, on the other hand, re-read the entire module dependency list every 
> time anything requests a module be loaded. Which happens a *lot* at 
> system startup. Yuck.
> 
> So, yes. There's a fun summer project for someone: modprobed.
> 
> -w
> 

well, the udev team once thought of integrating this inside of udev.




More information about the fedora-devel-list mailing list