Linux 6.6 Allowing Per-Policy CPUFreq Performance Boost Control
While last week saw the main set of power management updates for the Linux 6.6 kernel, this week a follow-on pull request was submitted -- and merged -- with a few last minute additions.
Rafael Wysocki at the beginning of the week sent in more power management updates for Linux 6.6. The pull has just a handful of new patches with the most notable change being support for per-policy performance boosting with the CPUFreq driver.
The pull has just a handful of new patches with the most notable change being support for per-policy performance boosting with the CPUFreq driver. The patch by HiSilicon engineer Jie Zhan explains:
This change that may be of interest to some Arm server users and others can be found in Linux 6.6 with the first test release, v6.6-rc1, coming out later today while the stable v6.6 release is expected at the end of October or early November.
Rafael Wysocki at the beginning of the week sent in more power management updates for Linux 6.6. The pull has just a handful of new patches with the most notable change being support for per-policy performance boosting with the CPUFreq driver.
The pull has just a handful of new patches with the most notable change being support for per-policy performance boosting with the CPUFreq driver. The patch by HiSilicon engineer Jie Zhan explains:
The boost control currently applies to the whole system. However, users may prefer to boost a subset of cores in order to provide prioritized performance to workloads running on the boosted cores.
Enable per-policy boost by adding a 'local_boost' sysfs interface. This can be found at:
/sys/devices/system/cpu/cpufreq/policy<*>/local_boost
Same to the global boost switch, writing 1/0 to 'local_boost' enables/disables boost on a cpufreq policy respectively.
The user view of global and local boost controls should be:
1. Enabling global boost initially enables local boost on all policies, and local boost can then be enabled or disabled individually on each policy, given that the platform does support so.
2. Disabling global boost makes enabling local boost illegal, while writing 0 to 'local_boost' is fine but takes no effect.
This change that may be of interest to some Arm server users and others can be found in Linux 6.6 with the first test release, v6.6-rc1, coming out later today while the stable v6.6 release is expected at the end of October or early November.
Add A Comment