Up to this point if you have wanted to monitor the start-up/boot performance of a Linux system, namely how long it takes the Linux kernel to boot, you have had to use an independent utility like Bootchart
. Now with work done by the Linaro project, there is an in-kernel measurement capabilities via a new "Boottime" patch.
Linaro developers have created Boottime as a tool for automatic measurement of the kernel / boot-loader boot time. Unlike Bootchart as a separate utility that needs to be installed, Boottime was developed with an aim of getting it in the mainline Linux kernel.
The kernel boot time is then exposed conveniently via the sysfs/boottime
interface and there's more detailed information exposed over debugfs
such as the average load during the boot process. Lee Jones of Linaro says the overhead of integrating Boottime into the kernel is very low.
From the patch
, "Adds sysfs entries (boottime/) with start-up timing information. If CONFIG_DEBUG_FS is enabled, detailed information about the boot time, including system load during boot can be extraced. This information can be visualised with help of the bootgraph script."
Hopefully Boottime will be integrated into the mainline Linux kernel soon. This work would also be very useful and could be incorporated into the Phoronix Test Suite
for making it trivial to conduct Linux kernel boot speed comparisons, etc in a fully automated manner using our testing framework and the results could then be shared and analyzed on OpenBenchmarking.org