Adpf:pantah: enable heuristic boost.

Heuristic boost will adjust the ADPF boost profile when the
powerhal detects the power session is very janky, providing more
boost for deadline sensitive threads managered in the session.

Bug: 341111433
Test: adb shell dumpsys android.hardware.power.IPower/default;
      Check the device adpf sessions' traces.
Change-Id: I48b6e6fe32e99e8263d9fb73734cf423e40247e8
This commit is contained in:
guibing 2024-05-16 21:13:01 +00:00 committed by Wei Wang
parent 11e866daad
commit 7b7ee45c08
6 changed files with 180 additions and 18 deletions

View file

@ -2126,7 +2126,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_90FPS",
@ -2152,7 +2161,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_60FPS",
@ -2178,7 +2196,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "UiHighBoostWithoutPid",

View file

@ -2322,7 +2322,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 83333330,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_90FPS",
@ -2348,7 +2357,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 111111110,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_60FPS",
@ -2374,7 +2392,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 166666660,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "UiHighBoostWithoutPid",

View file

@ -1242,7 +1242,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 83333330,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_90FPS",
@ -1268,7 +1277,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 111111110,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_60FPS",
@ -1294,7 +1312,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 166666660,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "UiHighBoostWithoutPid",

View file

@ -2013,7 +2013,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_90FPS",
@ -2039,7 +2048,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_60FPS",
@ -2065,7 +2083,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "UiHighBoostWithoutPid",

View file

@ -2178,7 +2178,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 83333330,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_90FPS",
@ -2204,7 +2213,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 111111110,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_60FPS",
@ -2230,7 +2248,16 @@
"SamplingWindow_D": 1,
"ReportingRateLimitNs": 166666660,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 15.0
"StaleTimeFactor": 15.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "UiHighBoostWithoutPid",

View file

@ -1242,7 +1242,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_90FPS",
@ -1268,7 +1277,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "REFRESH_60FPS",
@ -1294,7 +1312,16 @@
"EarlyBoost_On": false,
"EarlyBoost_TimeFactor": 0.0,
"TargetTimeFactor": 1.0,
"StaleTimeFactor": 20.0
"StaleTimeFactor": 20.0,
"HeuristicBoost_On": true,
"HBoostOnMissedCycles": 8,
"HBoostOffMaxAvgRatio": 4.0,
"HBoostOffMissedCycles": 5,
"HBoostPidPuFactor": 0.5,
"HBoostUclampMin": 722,
"JankCheckTimeFactor": 1.2,
"LowFrameRateThreshold": 25,
"MaxRecordsNum": 300
},
{
"Name": "UiHighBoostWithoutPid",