Linux CPU Boost 默认开关之争:华为补丁与 Arm 工程师的立场分歧
华为工程师张鹏杰提交 Linux 内核补丁,建议在 ACPI CPPC CPUFreq 驱动中默认启用 CPU Boost 模式,新增 20 行代码初始化 Boost 状态。Arm 工程师 Christian Loehle 对此提出异议,认为现代处理器功耗与热设计约束使默认开启存在争议。该讨论涉及 ARM64 服务器平台性能策略。
Linux 内核社区近日围绕 CPU 调频策略展开了一场新的讨论。华为工程师张鹏杰(Pengjie Zhang)向内核提交补丁,提议在支持相关功能的前提下,将 ACPI CPPC CPUFreq 驱动中的 CPU Boost 模式改为默认启用。该补丁针对 cppc_cpufreq.c 文件,新增了约 20 行代码,用于初始化 Boost 的默认状态。
ACPI CPPC(Collaborative Processor Performance Control)是 ACPI 规范定义的处理器性能控制机制,操作系统通过它与平台固件交互,动态调节处理器性能。在当前通用 ACPI CPPC 驱动中,当处理器的最高性能等级(Highest Performance)高于标称性能等级(Nominal Performance)时,Boost 模式默认处于禁用状态,用户需通过 sysfs 手动开启。Phoronix 指出,该驱动广泛用于 ARM64 Linux 服务器平台,而这类平台的用户通常更希望保持峰值性能。
张鹏杰在补丁中阐述了自己的理由:只要系统中至少有一个 CPU 支持 Boost,就应当自动为所有支持该功能的策略启用 Boost。这一建议若被采纳,将改变现有默认行为,使符合条件的平台在启动后即处于 Boost 可用状态。
不过,Arm 工程师、Linux 开发者 Christian Loehle 对此提出了不同看法。他认为,现代处理器的功耗和热设计约束过于复杂,默认开启 Boost 可能带来能效与散热方面的隐忧。双方的分歧折射出 Linux 内核在性能与功耗平衡上的长期议题,该补丁能否进入主线仍有待社区进一步讨论。