NVMe SSD Systems May Boot Slightly Quicker With Linux 5.7
Systems making use of NVMe solid-state storage may see slightly faster boot times with the Linux 5.7 kernel this summer.
Intel's Josh Triplett has been working recently on optimizing the Linux kernel boot performance. Earlier this month he posted a simple patch for Amazon's EC2 cloud Linux network driver so it could then start ~90x faster.
Similar to the low-hanging fruit in the EC2 network driver, it turns out the NVMe kernel code had another easy area for squeezing more out of the boot performance. Josh noted that after initialization, NVMe waits 100ms at a time when checking if a drive is ready. However, the NVMe SSDs are generally ready much quicker than that. So he reduced the wait time between checks from 100ms to 1ms... Quite a simple change and nothing about exploiting the performance potential of the NVM Express interface itself.
That change is now queued in the NVMe code of work being built up for the Linux 5.7 merge window.
Thanks to reducing that waiting period, he ended up shaving about 0.2 seconds off the boot time. While that's not much on its own, every little bit counts and he has shown with multiple patches that there are a lot of easy areas like this for improving the boot speed.
Intel's Clear Linux team has achieved boot times in as little as 300ms. Among the motivation for ensuring such speedy boot times are not only for desktop/laptop users but also use-cases like needing to have automobile cameras operational in a defined period of time or also for booting up new VMs in the cloud as quickly as possible in responding to changes in load.
We'll see what other kernel boot time optimizations Intel engineers are working on upstreaming.
Intel's Josh Triplett has been working recently on optimizing the Linux kernel boot performance. Earlier this month he posted a simple patch for Amazon's EC2 cloud Linux network driver so it could then start ~90x faster.
Similar to the low-hanging fruit in the EC2 network driver, it turns out the NVMe kernel code had another easy area for squeezing more out of the boot performance. Josh noted that after initialization, NVMe waits 100ms at a time when checking if a drive is ready. However, the NVMe SSDs are generally ready much quicker than that. So he reduced the wait time between checks from 100ms to 1ms... Quite a simple change and nothing about exploiting the performance potential of the NVM Express interface itself.
That change is now queued in the NVMe code of work being built up for the Linux 5.7 merge window.
Thanks to reducing that waiting period, he ended up shaving about 0.2 seconds off the boot time. While that's not much on its own, every little bit counts and he has shown with multiple patches that there are a lot of easy areas like this for improving the boot speed.
Intel's Clear Linux team has achieved boot times in as little as 300ms. Among the motivation for ensuring such speedy boot times are not only for desktop/laptop users but also use-cases like needing to have automobile cameras operational in a defined period of time or also for booting up new VMs in the cloud as quickly as possible in responding to changes in load.
We'll see what other kernel boot time optimizations Intel engineers are working on upstreaming.
26 Comments