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