Powerhint tuning for photo capture

UClamp.min of all threads in top app is set to mid core max capacity during photo capture, which will dispatch them to big core.
Critical threads of photo capture will be interrupted due to their lower priority, while other cores idle.

To deal with this situation,
prefer_idle mask to big/mid cores can reduce the idle in mid cores.
UClamp.min on nice can set UClamp.min of photo capture critical threads to mid core max capacity, while others as zero,
this can make critical threads run on big core without frequently interrupted.
By applying this, photo capture latency can be reduced with slight change of power consumption.

Bug:345601796
Performance Test:https://g3doc.corp.google.com/wireless/android/camera/camera_performance_analyzer/power_tuning/results/g3doc/pmu_retune_capture_enhanced/index.md?cl=alikz/1010
Kibble Power Test:https://g3doc.corp.google.com/wireless/android/camera/camera_performance_analyzer/power_tuning/results/g3doc/pmu_kibble_capture_rt_enhanced/index.md?cl=alikz/1044
Flag: NONE powerhint change does not support flags
Change-Id: I8683b50b212d50b85b22b5cb48d712fc8eb43444
This commit is contained in:
zorahchen 2024-06-06 07:11:40 +00:00 committed by Zorah Chen
parent d30d3fc1b7
commit d68bded2d6
4 changed files with 355 additions and 7 deletions

View file

@ -273,6 +273,42 @@
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceEnable",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidValue",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
"Values": [
"600",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
"119",
"120"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
"130"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
@ -389,6 +425,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -398,6 +435,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -407,6 +445,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -1494,10 +1533,58 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUClampBoost",
"Node": "ReducePreferIdle",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskHigh",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskMid",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskLow",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidValue",
"Duration": 3000,
"Value": "600"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 3000,
"Value": "119"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 3000,
"Value": "128"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferIdle",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
"Node": "CDPreferHighCap",

View file

@ -273,6 +273,42 @@
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceEnable",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidValue",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
"Values": [
"600",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
"119",
"120"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
"130"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
@ -389,6 +425,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -398,6 +435,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -407,6 +445,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -1494,10 +1533,58 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUClampBoost",
"Node": "ReducePreferIdle",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskHigh",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskMid",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskLow",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidValue",
"Duration": 3000,
"Value": "600"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 3000,
"Value": "119"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 3000,
"Value": "128"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferIdle",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
"Node": "CDPreferHighCap",

View file

@ -327,6 +327,42 @@
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceEnable",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidValue",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
"Values": [
"600",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
"119",
"120"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
"130"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
@ -443,6 +479,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -452,6 +489,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -461,6 +499,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -1483,10 +1522,58 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUClampBoost",
"Node": "ReducePreferIdle",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskHigh",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskMid",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskLow",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidValue",
"Duration": 3000,
"Value": "600"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 3000,
"Value": "119"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 3000,
"Value": "128"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferIdle",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
"Node": "CDPreferHighCap",

View file

@ -273,6 +273,42 @@
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceEnable",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_enable",
"Values": [
"1",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidValue",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_value",
"Values": [
"600",
"0"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceHighPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_high_prio",
"Values": [
"119",
"120"
],
"ResetOnInit": true
},
{
"Name": "TAUclampMinOnNiceMidPrio",
"Path": "/proc/vendor_sched/groups/ta/uclamp_min_on_nice_mid_prio",
"Values": [
"128",
"130"
],
"ResetOnInit": true
},
{
"Name": "FGUClampBoost",
"Path": "/proc/vendor_sched/groups/fg/uclamp_min",
@ -389,6 +425,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_high",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -398,6 +435,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_mid",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -407,6 +445,7 @@
"Path": "/proc/vendor_sched/groups/ta/preferred_idle_mask_low",
"Values": [
"0xff",
"0xf0",
"0x7f"
],
"ResetOnInit": true
@ -1494,10 +1533,58 @@
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUClampBoost",
"Node": "ReducePreferIdle",
"Duration": 3000,
"Value": "0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskHigh",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskMid",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferredIdleMaskLow",
"Duration": 3000,
"Value": "0xf0"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceEnable",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidValue",
"Duration": 3000,
"Value": "600"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceHighPrio",
"Duration": 3000,
"Value": "119"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAUclampMinOnNiceMidPrio",
"Duration": 3000,
"Value": "128"
},
{
"PowerHint": "CAMERA_CAPTURE_CPU_THROTTLE",
"Node": "TAPreferIdle",
"Duration": 3000,
"Value": "1"
},
{
"PowerHint": "CAMERA_THERMAL_SEVERE_BOOST",
"Node": "CDPreferHighCap",