Hey TPG,

greate benchmark.

I think we could have a try on this patch. Not really sure if we can apply it directly (probably yes, as this part of kernel doesn't have so much modification), if not I can have a try porting it to our kernel version.

Another try we can have, but this on can be more hard to handle, is use finit:
https://github.com/troglobit/finit
A replacement to init default init tools (/sbin/init or systemd) focused in be faster. This one can be quite hard as we need to create the right hooks to bring up the system on a usable way but could give us
a good performance.

Thanks all for the excellent work!

Em 04-06-2014 19:51, Tomasz Paweł Gajc escreveu:
Hi

i dediced to take a look at our kernel's boot time. It is very impressive that
kernel boot time is very small.

First i've added these "initcall_debug printk.time=1" to
GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub and then run update-grub2 and
reboot.

Then i've produced a kernel bootchart with dmesg | perl bootgraph.pl >
kernel_boot.svg

According to this graph[1], kernel boots in about 3 seconds, but spends 2
seconds on
populate_rootfs() which is responisble for unpacking intrd. Looks like this function is not invoked in asynchronous mode, which simply means that kernel
waits for this function to finish, and after that calls others.

Some distributions adopted a patch [2] that calls populate_rootfs in async mode, which finally reduces kernel boot time. My wild guess is that we can at least save 1 second on kernel boot, by using this patch[2]. So what do you
think about this ?

I'm attaching also output from my systemd-analyze[3] to comapre kernel boot
time with systemd output [1].

[tpg@tpgbox ~]$ hostnamectl

   Static hostname: tpgbox.localdomain

         Icon name: computer-desktop

           Chassis: desktop

        Machine ID: 749bb30eb3383bf688882190532f013b

           Boot ID: c084aee457f94000aecdbe705901fcaa

  Operating System: OpenMandriva Lx 2014.0 (Phosphorus)
CPE OS Name: cpe:/o:openmandriva_association:openmandriva_lx:2014.0
            Kernel: Linux 3.13.11-nrjQL-desktop-1omv
      Architecture: x86_64


References:
1. Attached kernel_boot.svg
2. https://lists.ubuntu.com/archives/kernel-team/2009-December/008035.html
3. Attached system_boot.svg

--
Marco A Benatto
Mandriva OEM Team
Linux user ID: #506236

Reply via email to