Thermal温度过载保护模块
支持在芯片过热时调整Property值以改变调度策略, 例如降低CPU的最大功耗和限制GPU的最高频率.
params - 调频器参数
| 字段 | 类型 | 定义 |
|---|---|---|
| interval | int | 空闲工作频率 |
| actionDelay | int | 活动工作频率 |
| matchRule | null | null |
json
"Thermal": {
"params": {
"interval": 1000,
"actionDelay": 1000,
"matchRule": null
},modes - 调频器参数
| 字段 | 类型 | 定义 |
|---|---|---|
| temp | ArrayInt | 过热温度(范围:0-100°C) |
| cpu.max_power | int | CPU整体功耗上限(单位:mW) |
| mtk_gpu.max_freq | int | GPU整体频率上限(单位:Mhz) |
| devfreq.ddr.max_freq | int | DDR工作频率上限(单位:Mhz) |
| devfreq.gpu.max_freq | int | GPU工作频率上限(单位:Mhz) |
TIP
过热温度为触发调频器温度控制的阈值,当temp设置为-1时则代表忽略过热温度,例如temp设置为80时则表示当CPU温度超过80°C时将触发该字段所包含的变量,当超过90°C时将触发下一个字段.并由setProperty字段中的name和value来设置对应的属性值.
WARNING
powerLimit在boost extra_margin,low_latency为0/false的时候生效,但是max_power还是会限制功耗,max_power的功耗限制是优先级高于powerLimit的,即使powerLimit设置为10000,max_power设置为5000,那么最终的功耗限制还是5000.
json
"modes": {
"powersave": {
"actions": [
{
"temp": -1,
"setProperty": [
{"name": "cpu.max_power", "value": 8000},
{"name": "mtk_gpu.max_freq", "value": 600},
{"name": "devfreq.ddr.max_freq", "value": 10000},
{"name": "devfreq.gpu.max_freq", "value": 10000}
]
},
{
"temp": 80,
"setProperty": [
{"name": "cpu.max_power", "value": 5000},
{"name": "mtk_gpu.max_freq", "value": 500},
{"name": "devfreq.ddr.max_freq", "value": 10000},
{"name": "devfreq.gpu.max_freq", "value": 10000}
]
},
{
"temp": 90,
"setProperty": [
{"name": "cpu.max_power", "value": 2000},
{"name": "mtk_gpu.max_freq", "value": 500},
{"name": "devfreq.ddr.max_freq", "value": 10000},
{"name": "devfreq.gpu.max_freq", "value": 10000}
]
}
]
},节选自CuToolbox V8.2.0 Alpha更新日志
[Thermal] 新增的模块, 支持在芯片过热时调整Property值以改变调度策略, 例如降低CPU的最大功耗和限制GPU的最高频率.
