Why built-in modules slow down kernel boot?
Michele Curti
michele.curti at gmail.com
Tue Sep 30 06:27:12 EDT 2014
Hi all,
it's just a curiosity.
Since the use of an initramfs doubles the kernel boot time I decided to play a
little compiling as built-in the modules required to mount root (starting
from a localmodconfig).
Everything ok, the system starts and the kernel boot time is good
Startup finished in 1.749s (firmware) + 375ms (loader) +
1.402s (kernel) + 716ms (userspace) = 4.244s
(from systemd-analyze).
My next idea was: "Well, why not to make all modules as built-in? So I avoid
reading from disk at every module load.. and all of them are loaded
anyway", but the results was opposite to my expectations, kernel boot time
increased from 1.4 to 3 seconds.
So my question is, how this can be explained?
My theory is that by compiling all the modules as built-in, the kernel calls
all the module __init functions in a sequential manner, (using a single
core?) and lets the userspace start only when everything is done.
But I'm not sure at all.
I have a samsung ativ book 9 liite: 1GHz 4core, ssd
Regards,
Michele
More information about the Kernelnewbies
mailing list