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.
--
fedora-devel-list mailing list
fedora-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/fedora-devel-list