与以前的内核相比,Linux 6.9内核将能以更快的速度启动具有大量内存(尤其是使用 HugeTLB 页面)的系统,从而明显缩短启动时间。作为 Linux 6.9 合并窗口内存管理(MM)更新的一部分,Linux 6.9 合并了一组补丁,用于在启动时并行初始化 HugeTLB 页面。对于有大量 HugeTLB 页面的系统,这可以显著缩短启动时间。
字节跳动公司的 Linux 开发人员 Gang Li 投入了大量时间,经过多轮审查,终于使 HugeTLB 页面初始化成功。Gang Li 在早期的系列补丁中解释说:
"启动过程中的 Hugetlb 初始化会占用大量时间。例如,在一个 2TB 系统上,初始化 1,800 个 1GB 巨大页面需要 10 秒中的 1-2 秒。而在 12TB 英特尔主机上初始化 11776 个 1GB 页面则需要 1 分钟以上。受[延迟页面初始化并行化]和[跳过巨型尾部结构页面初始化]的启发,hugetlb 初始化也可以通过并行化来加速。内核已经拥有 padata_doo_multithreaded 等基础架构,本补丁利用这些基础架构,以最小的修改实现有效的结果。"
对于拥有大量 HugeTLB 页面的超大型服务器来说,这可以大大节省启动时间:
对于超大型服务器和其他对服务可用性和系统正常运行时间要求极高的大型企业来说,在需要重启系统的情况下,更快的启动时间将带来极大的好处。