ARM合入补丁解决无效Inefficient OPPs
[PATCH v6 0/7] Inefficient OPPs
参考的测试方法
We evaluated the change presented here by running 30 iterations of Android PCMark "Work 2.0 Performance". While we did not see any statistically significant performance impact, this change allowed to drastically improve the idle time residency. | Running | WFI [1] | Idle | ------------------------+-------------+-----------+-----------+ Little cluster (4 CPUs) | -0.35% | +0.35% | +0.79% | ------------------------+-------------+-----------+-----------+ Medium cluster (3 CPUs) | -6.3% | -18% | +12% | ------------------------+-------------+-----------+-----------+ Big cluster (1 CPU) | -6.4% | -6.5% | +2.8% | ------------------------+-------------+-----------+-----------+
在这里给定负载的情况,对比测试 CPU在运行态和IDLE态的时间。不管总的运行时长是多少,只要能有更多的时间处于idle,则表示消耗的能耗越少?
基准测试软件 PCMark for Android — a better benchmark for smartphones and tablets
散热和负载之间的关联
https://kernelnewbies.org/Linux_5.12#Power_Management
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d1515851ca075ed98fe78ac6abf24ba2dd25a63b
Scenario 1: The CPUs were mostly idle in the previous polling window of the IPA governor as the tasks were sleeping and here are the details from traces (load is in %):
Old: thermal_power_cpu_get_power: cpus=00000000,000000ff freq=1200000 total_load=203 load={{0x35,0x1,0x0,0x31,0x0,0x0,0x64,0x0}} dynamic_power=1339
New: thermal_power_cpu_get_power: cpus=00000000,000000ff freq=1200000 total_load=600 load={{0x60,0x46,0x45,0x45,0x48,0x3b,0x61,0x44}} dynamic_power=3960
以上这种数据是怎么来的?
The Importance Of Thermald On Linux For Modern Intel Tiger Lake Laptops
https://www.phoronix.com/scan.php?page=article&item=intel-thermald-tgl&num=1
Linux Adding New Thermal Code To Deal With Hot Tegra Devices - Phoronix
https://lkml.org/lkml/2021/5/31/252
> Some hardware versions of NVIDIA Tegra SoCs support higher freqs and they
> are producing much more heat than the other versions. We found that CPU
> throttling may be not enough on devices like Asus Transformer TF700T,
> which is Tegra30 tablet device. This series adds thermal cooling support
> to the NVIDIA Tegra30+ devfreq which cools down SoC by throttling memory
> frequency on overheat.
NVIDIA Tegra SoC的某些版本支持更高的频率,因而散发更多热量。CPU throttling 不能够处理这些设备。 这些补丁提供了针对此类设备的降温支持。通过限制(throttling)GPU 内存频率来降温,驱动模块为devfreq。
这里有两个问题: 1) cpu throttling对应的内核代码是什么?通过什么机制throttling的?
2)合入的补丁位置 Linux power management - Patchwork