Linux 6.9 Will Boot Much Faster For Systems With Large Amounts Of RAM
The Linux 6.9 kernel will be able to boot systems with large amounts of memory -- and in particular making use of HugeTLB pages -- much faster than with previous kernels, netting a noticeable reduction in boot times.
Merged as part of the memory management (MM) updates for the Linux 6.9 merge window was a set of patches to parallelize HugeTLB page initialization on boot. For systems with large numbers of HugeTLB pages, this can lead to a significant reduction in boot times.
Linux developer Gang Li of Bytedance had invested much time on the patch series going through multiple rounds of review to get HugeTLB page initialization working. Gang Li explained in the earlier patch series:
For very large servers with lots of HugeTLB pages, this can lead to significant boot time savings:
With such larger servers typically at the hyperscalers and other large organizations where service availability and system uptime are crucial, the quicker boot times in case of needing a system reboot are of significant benefit.
Merged as part of the memory management (MM) updates for the Linux 6.9 merge window was a set of patches to parallelize HugeTLB page initialization on boot. For systems with large numbers of HugeTLB pages, this can lead to a significant reduction in boot times.
Linux developer Gang Li of Bytedance had invested much time on the patch series going through multiple rounds of review to get HugeTLB page initialization working. Gang Li explained in the earlier patch series:
"Hugetlb initialization during boot takes up a considerable amount of time. For instance, on a 2TB system, initializing 1,800 1GB huge pages takes 1-2 seconds out of 10 seconds. Initializing 11,776 1GB pages on a 12TB Intel host takes more than 1 minute. This is a noteworthy figure.
Inspired by [parallelizing deferred page initialization] and [skipping initialization of gigantic tail struct pages], hugetlb initialization can also be accelerated through parallelization. Kernel already has infrastructure like padata_do_multithreaded, this patch uses it to achieve effective results by minimal modifications."
For very large servers with lots of HugeTLB pages, this can lead to significant boot time savings:
With such larger servers typically at the hyperscalers and other large organizations where service availability and system uptime are crucial, the quicker boot times in case of needing a system reboot are of significant benefit.
16 Comments