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