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. This only happens when camera is running. Also
bypass this behavior when video recording is active.

Bug: 240889279
Test: camera daemon cpuset changed as expected
Change-Id: I1d35bacf3d907a3e7ca9f18c213c941b55768500
This commit is contained in:
Rick Yiu 2022-11-16 08:57:12 +00:00
parent ef8b903bdb
commit 1ef727e4cb

View file

@ -177,7 +177,7 @@
"ResetOnInit": true
},
{
"Name": "ReduceRreferIdle",
"Name": "ReducePreferIdle",
"Path": "/proc/vendor_sched/reduce_prefer_idle",
"Values": [
"0",
@ -198,6 +198,7 @@
"Name": "CDCpuset",
"Path": "/dev/cpuset/camera-daemon/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -207,6 +208,7 @@
"Name": "CDHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-high-group/cpus",
"Values": [
"0-3",
"6-7",
"0-7"
],
@ -216,6 +218,7 @@
"Name": "CDMidCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-group/cpus",
"Values": [
"0-3",
"4-5",
"0-7"
],
@ -225,6 +228,7 @@
"Name": "CDMidHighCpusetCpus",
"Path": "/dev/cpuset/camera-daemon-mid-high-group/cpus",
"Values": [
"0-3",
"4-7",
"0-7"
],
@ -295,6 +299,16 @@
],
"Type": "Property"
},
{
"Name": "PowerHALCameraRunning",
"Path": "vendor.powerhal.camerarunning",
"Values": [
"1",
"0"
],
"Type": "Property",
"ResetOnInit": true
},
{
"Name": "INTCAMFreq",
"Path": "/sys/devices/platform/17000030.devfreq_intcam/devfreq/17000030.devfreq_intcam/min_freq",
@ -478,6 +492,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",
@ -486,7 +524,7 @@
},
{
"PowerHint": "LAUNCH",
"Node": "ReduceRreferIdle",
"Node": "ReducePreferIdle",
"Duration": 5000,
"Value": "0"
},
@ -549,6 +587,30 @@
"Type": "DoHint",
"Value": "LAUNCH_EXTEND"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDCPUSET_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDMIDCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH",
"Type": "DoHint",
"EnableProperty": "vendor.powerhal.camerarunning",
"Value": "CDMIDHIGHCPUSETCPUS_RESTRICTED"
},
{
"PowerHint": "LAUNCH_EXTEND",
"Node": "CPUBigClusterMaxFreq",
@ -825,6 +887,12 @@
"Duration": 3000,
"Value": "9999999"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "PowerHALCameraRunning",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "CAMERA_STREAMING_EXTREME",
"Node": "CPULittleClusterMaxFreq",
@ -903,6 +971,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "PowerHALCameraRunning",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "CAMERA_STREAMING_HIGH",
"Node": "CPUUtilThreshold",
@ -987,6 +1061,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "PowerHALCameraRunning",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "CDPreferHighCap",
@ -1059,6 +1139,12 @@
"Duration": 0,
"Value": "0"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "PowerHALCameraRunning",
"Duration": 0,
"Value": "1"
},
{
"PowerHint": "CAMERA_STREAMING_LOW",
"Node": "CDPreferHighCap",
@ -1137,6 +1223,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_FIXED_FPS",
"Node": "MemFreq",