From dd142c7f3ccb58f913c060762c3793bd4b5a2e4f Mon Sep 17 00:00:00 2001 From: TeYuan Wang Date: Fri, 25 Nov 2022 16:27:29 +0800 Subject: [PATCH] thermal: adjust CPU/GPU throttling policy 1. Combine CPU, GPU to one PID policy 2. Consider modem power for CPU throttling reference Bug: 239372646 Test: run burn8 and check the sustain temperature Change-Id: Ida8ff65ce189a16e37baf728cc50a654a8d2ab63 --- thermal_info_config_felix.json | 79 ++++++++++++++++++++++++---------- 1 file changed, 56 insertions(+), 23 deletions(-) diff --git a/thermal_info_config_felix.json b/thermal_info_config_felix.json index 5df0bec..565682d 100644 --- a/thermal_info_config_felix.json +++ b/thermal_info_config_felix.json @@ -300,23 +300,28 @@ "Formula":"MAXIMUM", "Combination":["VIRTUAL-SKIN-CLOSE", "VIRTUAL-SKIN-OPEN"], "Coefficient":[1.0, 1.0], - "HotThreshold":["NAN", 37.0, 43.0, 45.0, 46.5, 52.0, 140.0], + "HotThreshold":["NAN", 37.0, 39.0, 41.0, 46.5, 52.0, 140.0], "HotHysteresis":[0.0, 1.9, 1.9, 1.9, 1.4, 1.9, 1.9], "Multiplier":0.001, "PollingDelay":300000, "PassiveDelay":7000, "PIDInfo": { - "K_Po":["NAN", "NAN", 200, 200, "NAN", "NAN", "NAN"], - "K_Pu":["NAN", "NAN", 200, 200, "NAN", "NAN", "NAN"], - "K_I":["NAN", "NAN", 0, 5, "NAN", "NAN", "NAN"], - "K_D":["NAN", "NAN", 0, 0, "NAN", "NAN", "NAN"], - "I_Max":["NAN", "NAN", 0, 300, "NAN", "NAN", "NAN"], - "S_Power":["NAN", "NAN", 1200, 800, "NAN", "NAN", "NAN"], - "MinAllocPower":["NAN", "NAN", 1200, 200, "NAN", "NAN", "NAN"], - "MaxAllocPower":["NAN", "NAN", 2400, 1600, "NAN", "NAN", "NAN"], - "I_Cutoff":["NAN", "NAN", 0, 2, "NAN", "NAN", "NAN"], - "TranCycle": 5 + "K_Po":["NAN", "NAN", "NAN", 400, "NAN", "NAN", "NAN"], + "K_Pu":["NAN", "NAN", "NAN", 400, "NAN", "NAN", "NAN"], + "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"], + "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"], + "I_Max":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"], + "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"], + "MinAllocPower":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"], + "MaxAllocPower":["NAN", "NAN", "NAN", 10000, "NAN", "NAN", "NAN"], + "I_Cutoff":["NAN", "NAN", "NAN", 2, "NAN", "NAN", "NAN"] }, + "ExcludedPowerInfo": [ + { + "PowerRail": "VSYS_PWR_MODEM", + "PowerWeight": [0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3] + } + ], "BindedCdevInfo": [ { "CdevRequest": "thermal-cpufreq-0", @@ -348,7 +353,7 @@ ] }, { - "Name":"VIRTUAL-SKIN-GPU", + "Name":"VIRTUAL-SKIN-CPU-GPU", "Type":"UNKNOWN", "Hidden":true, "VirtualSensor":true, @@ -362,18 +367,44 @@ "PollingDelay":300000, "PassiveDelay":7000, "PIDInfo": { - "K_Po":["NAN", "NAN", 100, 350, "NAN", "NAN", "NAN"], - "K_Pu":["NAN", "NAN", 100, 350, "NAN", "NAN", "NAN"], - "K_I":["NAN", "NAN", 0, 5, "NAN", "NAN", "NAN"], - "K_D":["NAN", "NAN", 0, 0, "NAN", "NAN", "NAN"], - "I_Max":["NAN", "NAN", 0, 500, "NAN", "NAN", "NAN"], - "S_Power":["NAN", "NAN", 1500, 800, "NAN", "NAN", "NAN"], - "MinAllocPower":["NAN", "NAN", 1500, 200, "NAN", "NAN", "NAN"], - "MaxAllocPower":["NAN", "NAN", 2100, 1700, "NAN", "NAN", "NAN"], - "I_Cutoff":["NAN", "NAN", 0, 2, "NAN", "NAN", "NAN"], - "TranCycle": 5 + "K_Po":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"], + "K_Pu":["NAN", "NAN", "NAN", 300, "NAN", "NAN", "NAN"], + "K_I":["NAN", "NAN", "NAN", 5, "NAN", "NAN", "NAN"], + "K_D":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"], + "I_Max":["NAN", "NAN", "NAN", 700, "NAN", "NAN", "NAN"], + "S_Power":["NAN", "NAN", "NAN", 800, "NAN", "NAN", "NAN"], + "MinAllocPower":["NAN", "NAN", "NAN", 0, "NAN", "NAN", "NAN"], + "MaxAllocPower":["NAN", "NAN", "NAN", 3900, "NAN", "NAN", "NAN"], + "I_Cutoff":["NAN", "NAN", "NAN", 2, "NAN", "NAN", "NAN"] }, "BindedCdevInfo": [ + { + "CdevRequest": "thermal-cpufreq-0", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "BindedPowerRail": "S4M_VDD_CPUCL0", + "CdevCeiling": [0, 8, 8, 8, 8, 10, 10], + "LimitInfo": [0, 0, 0, 0, 8, 10, 10] + }, + { + "CdevRequest": "thermal-cpufreq-1", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "BindedPowerRail": "S3M_VDD_CPUCL1", + "CdevCeiling": [0, 12, 12, 12, 12, 14, 14], + "LimitInfo": [0, 0, 0, 0, 12, 14, 14] + }, + { + "CdevRequest": "thermal-cpufreq-2", + "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], + "MaxReleaseStep": 1, + "MaxThrottleStep": 1, + "BindedPowerRail": "S2M_VDD_CPUCL2", + "CdevCeiling": [0, 15, 15, 15, 15, 17, 17], + "LimitInfo": [0, 0, 0, 0, 15, 17, 17] + }, { "CdevRequest": "thermal-gpufreq-0", "CdevWeightForPID": [1, 1, 1, 1, 1, 1, 1], @@ -872,7 +903,9 @@ "Name":"PPVAR_VSYS_PWR_DISP" }, { - "Name":"VSYS_PWR_MODEM" + "Name":"VSYS_PWR_MODEM", + "PowerSampleDelay":7000, + "PowerSampleCount":1 }, { "Name":"S2M_VDD_CPUCL2",