Software Boosting Patches Volleyed For CPPC CPUFreq Driver (Boost / Turbo Frequency)
A new set of kernel patches out this morning are for implementing software boost support within the ACPI CPPC CPUFreq driver.
CPPC is the Collaborative Processor Performance Control and is the ACPI specification around CPU frequency scaling/management. CPPC has been popular among Arm SoCs while AMD supports CPPC on Zen 2 albeit their customized driver has yet to reach mainline status.
A Huawei engineer sent out patches for adding software "boost" support for CPPC within the Linux kernel CPUfreq driver.
The CPPC specification has a "highest performance" bit for indicating the highest performance achievable on a given CPU core, and that basically amounts to the turbo/boost frequency that may or may not work out well depending upon all of the usual caveats around boost/turbo frequencies. It's the "nominal performance" bit for CPPC that is indicative of the base clock frequency / all-core frequency for continuous operation. The Huawei patches are making use of it for determining software boosting values when lacking a frequency table for the system. If the highest performance value is greater than the nominal performance, boosting is available.
The patches are out under a "request for comments" flag for wiring up this support so the driver can make more informed and optimal frequency scaling decisions. The software boosting functionality though is currently disabled by default for the CPPC CPUfreq driver.
Hopefully this work and other contributions (ideally with AMD getting back involved in their CPPC Linux support) will help get this CPUfreq driver into better shape moving forward.
CPPC is the Collaborative Processor Performance Control and is the ACPI specification around CPU frequency scaling/management. CPPC has been popular among Arm SoCs while AMD supports CPPC on Zen 2 albeit their customized driver has yet to reach mainline status.
A Huawei engineer sent out patches for adding software "boost" support for CPPC within the Linux kernel CPUfreq driver.
The CPPC specification has a "highest performance" bit for indicating the highest performance achievable on a given CPU core, and that basically amounts to the turbo/boost frequency that may or may not work out well depending upon all of the usual caveats around boost/turbo frequencies. It's the "nominal performance" bit for CPPC that is indicative of the base clock frequency / all-core frequency for continuous operation. The Huawei patches are making use of it for determining software boosting values when lacking a frequency table for the system. If the highest performance value is greater than the nominal performance, boosting is available.
The patches are out under a "request for comments" flag for wiring up this support so the driver can make more informed and optimal frequency scaling decisions. The software boosting functionality though is currently disabled by default for the CPPC CPUfreq driver.
Hopefully this work and other contributions (ideally with AMD getting back involved in their CPPC Linux support) will help get this CPUfreq driver into better shape moving forward.
1 Comment