Limit camera daemon cpuset to little cores when app launch

When exiting camera app, camera daemon is still busy in background,
which may affect the launch animation of launcher. So, limit the cpuset of camera daemon to little cores for 1 second when there is app launch hint to improve it, but cancel it right away when there is camera launch hint. Also bypass this behavior when video recording is active.

Bug: 240889279
Test: camera daemon cpuset changed as expected
Change-Id: Ieeafb0d96fbce1b7a97df0e554bd2223529bf1ed
This commit is contained in:
Rick Yiu 2022-08-01 06:32:40 +00:00 committed by TreeHugger Robot
parent f51f546774
commit aca421cae4
4 changed files with 352 additions and 0 deletions

View file

@ -207,6 +207,7 @@
"Name": "CDCpuset",
"Path": "/dev/cpuset/camera-daemon/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -225,6 +226,7 @@
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
"Values": [
"0-3",
"6-7",
"0-7"
],
@ -234,6 +236,7 @@
"Name": "CDMidCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-group/cpus",
"Values": [
"0-3",
"4-5",
"0-7"
],
@ -243,6 +246,7 @@
"Name": "CDMidHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-high-group/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -605,12 +609,56 @@
}
],
"Actions": [
{
"PowerHint": "CDCPUSET_RESTRICTED",
"Node": "CDCpuset",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDCPUSETCPUS_RESTRICTED",
"Node": "CDMidCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDMidHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "LAUNCH",
"Node": "FGPreferIdle",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
@ -653,6 +701,26 @@
"Duration": 5000,
"Value": "0"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
@ -1385,6 +1453,26 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_GPU_HIGH",
"Node": "GPUMinFreq",

View file

@ -233,6 +233,7 @@
"Name": "CDCpuset",
"Path": "/dev/cpuset/camera-daemon/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -242,6 +243,7 @@
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
"Values": [
"0-3",
"6-7",
"0-7"
],
@ -251,6 +253,7 @@
"Name": "CDMidCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-group/cpus",
"Values": [
"0-3",
"4-5",
"0-7"
],
@ -260,6 +263,7 @@
"Name": "CDMidHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-high-group/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -624,6 +628,30 @@
}
],
"Actions": [
{
"PowerHint": "CDCPUSET_RESTRICTED",
"Node": "CDCpuset",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDCPUSETCPUS_RESTRICTED",
"Node": "CDMidCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDMidHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "LAUNCH",
"Node": "UClampThreshold",
@ -648,6 +676,26 @@
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
@ -695,6 +743,26 @@
"Duration": 5000,
"Value": "0"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
@ -1427,6 +1495,26 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_GPU_HIGH",
"Node": "GPUMinFreq",

View file

@ -196,6 +196,7 @@
"Name": "CDCpuset",
"Path": "/dev/cpuset/camera-daemon/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -214,6 +215,7 @@
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
"Values": [
"0-3",
"6-7",
"0-7"
],
@ -223,6 +225,7 @@
"Name": "CDMidCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-group/cpus",
"Values": [
"0-3",
"4-5",
"0-7"
],
@ -232,6 +235,7 @@
"Name": "CDMidHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-high-group/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -594,12 +598,56 @@
}
],
"Actions": [
{
"PowerHint": "CDCPUSET_RESTRICTED",
"Node": "CDCpuset",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDCPUSETCPUS_RESTRICTED",
"Node": "CDMidCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDMidHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "LAUNCH",
"Node": "FGPreferIdle",
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
@ -642,6 +690,26 @@
"Duration": 5000,
"Value": "0"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
@ -1272,6 +1340,26 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_GPU_HIGH",
"Node": "GPUMinFreq",

View file

@ -213,6 +213,7 @@
"Name": "CDCpuset",
"Path": "/dev/cpuset/camera-daemon/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -222,6 +223,7 @@
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
"Values": [
"0-3",
"6-7",
"0-7"
],
@ -231,6 +233,7 @@
"Name": "CDMidCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-group/cpus",
"Values": [
"0-3",
"4-5",
"0-7"
],
@ -240,6 +243,7 @@
"Name": "CDMidHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-high-group/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -604,6 +608,30 @@
}
],
"Actions": [
{
"PowerHint": "CDCPUSET_RESTRICTED",
"Node": "CDCpuset",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDCPUSETCPUS_RESTRICTED",
"Node": "CDMidCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "CDMIDHIGHCPUSETCPUS_RESTRICTED",
"Node": "CDMidHighCpusetCpus",
"Duration": 1000,
"Value": "0-3"
},
{
"PowerHint": "LAUNCH",
"Node": "UClampThreshold",
@ -622,6 +650,26 @@
"Duration": 5000,
"Value": "1"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Node": "CPUBigClusterMaxFreq",
@ -664,6 +712,26 @@
"Duration": 5000,
"Value": "0"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Type": "EndHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_LAUNCH",
"Node": "MemFreq",
@ -1294,6 +1362,26 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_VIDEO_RECORDING",
"Type": "MaskHint",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "CAMERA_GPU_HIGH",
"Node": "GPUMinFreq",