ARM合入补丁解决无效Inefficient OPPs

​https://lore.kernel.org/linux-pm/20210901053110.bbf4mkou3demcmlg@vireshk-i7/T/#u​

参考的测试方法

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,则表示消耗的能耗越少?

  基准测试软件​https://benchmarks.ul.com/pcmark-android​

散热和负载之间的关联

​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​

​https://www.phoronix.com/scan.php?page=news_item&px=Thermal-Cooling-Tegra-Devfreq​

​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)合入的补丁位置  ​​https://patchwork.kernel.org/project/linux-pm/list/?series=490655​