随着 cpu 内核数量的不断增加,我们最近看到了各种优化工作,以帮助提高大型服务器联机的启动速度。最新发现之一可以将一些大型服务器的启动速度降低多达 30 秒,并且似乎是下一代 amd epyc“热那亚”平台。
linux 内核贡献者和系统管理员 stuart hayes 注意到,当加载 acpi cpufreq 驱动程序时,通过在驱动程序注册到 cpufreq 之前设置适当的模型特定寄存器 (msr) 来依次启用 cpu 提升支持。对于当今的高核心数服务器来说,这最终会变得相当耗时,并且启用了每次一个核心的 cpu 提升。它’
stuart 发送了一个补丁来推迟使用 acpi cpufreq 驱动程序设置升压 msr。他评论说:“由于 cpufreq 已经设置了一个 cpu 热插拔启动回调,并且当注册了 a-cpufreq 时,请在 acpi_cpufreq_cpu_init() 中设置 boost msr,它由 cpufreq cpuhp 回调调用。这允许 acpi-cpufreq 在以下情况下快速退出它已加载但不需要。 ”
越来越多的核心数服务器导致新的 linux 内核优化围绕提高启动速度以及很久以前编写的内核代码的其他当前低效率。
此更改针对通用 acpi cpufreq 驱动程序,该驱动程序被各种 arm 服务器处理器和 amd cpu 使用,除非使用较新的 amd p-state 驱动程序,并且 intel 服务器 cpu 通常在 intel p-state 驱动程序上。hayes 指出,小代码补丁能够将测试服务器上的启动速度加快约 30 秒。提到的服务器有 192 个 cpu 内核。鉴于现在 192 个 cpu 内核有点奇怪,它很可能是一个 amd epyc 热那亚服务器,因为每个插槽最多 96 个 cpu 内核已经众所周知。无论如何,此更改并非特定于热那亚,并且将有助于使用 acpi cpufreq 驱动程序的任何大型内核计数系统。 这种针对大核心数系统的启动时间节省改进目前正在linux-pm 邮件列表中
原创文章,作者:校长,如若转载,请注明出处:https://www.yundongfang.com/yun198353.html