diff options
author | vincechiu <vincechiu@google.com> | 2021-07-20 12:44:59 +0800 |
---|---|---|
committer | Jay <jaytwang@google.com> | 2021-11-10 18:28:28 +0000 |
commit | 86c6a376a78c4b93a398f9055d8b2e0ebd299d51 (patch) | |
tree | cd02535c43a11e9cc5505605d0cda063f6fc5c01 | |
parent | a24669c1fd9aa4cc51a2f88a1f92a120f2aab1cc (diff) | |
download | gs201-86c6a376a78c4b93a398f9055d8b2e0ebd299d51.tar.gz |
Camera: create three new groups for camera threads
high-group is running on CPU 6-7.
mid-group is running on CPU 4-5.
mid-high-gropu is running on CPU 4-7.
Move camera tasks to CPU 4-7 for 1 seconds when AP launch.
(cherry-pick from device/google/gs101)
Bug: 205010238
Bug: 194271751
Test: GCA
Change-Id: I8e13e9ad0057b8f42f8ed3958bf0c6d58a5a02bc
-rw-r--r-- | conf/init.gs201.rc | 20 | ||||
-rw-r--r-- | powerhint.json | 114 | ||||
-rw-r--r-- | task_profiles.json | 39 |
3 files changed, 171 insertions, 2 deletions
diff --git a/conf/init.gs201.rc b/conf/init.gs201.rc index 670346d..4054494 100644 --- a/conf/init.gs201.rc +++ b/conf/init.gs201.rc @@ -130,8 +130,24 @@ on init chown root root /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive chown system system /dev/cpuctl/camera-daemon/cgroup.procs - write /dev/cpuctl/camera-daemon/cpu.uclamp.latency_sensitive 1 - write /dev/cpuctl/camera-daemon/cpu.uclamp.min 1 + mkdir /dev/cpuset/camera-daemon-high-group + write /dev/cpuset/camera-daemon-high-group/cpus 0-7 + write /dev/cpuset/camera-daemon-high-group/mems 0 + chown system system /dev/cpuset/camera-daemon-high-group/tasks + chmod 0664 /dev/cpuset/camera-daemon-high-group/tasks + + mkdir /dev/cpuset/camera-daemon-mid-group + write /dev/cpuset/camera-daemon-mid-group/cpus 0-7 + write /dev/cpuset/camera-daemon-mid-group/mems 0 + chown system system /dev/cpuset/camera-daemon-mid-group/tasks + chmod 0664 /dev/cpuset/camera-daemon-mid-group/tasks + + mkdir /dev/cpuset/camera-daemon-mid-high-group + write /dev/cpuset/camera-daemon-mid-high-group/cpus 0-7 + write /dev/cpuset/camera-daemon-mid-high-group/mems 0 + chown system system /dev/cpuset/camera-daemon-mid-high-group/tasks + chmod 0664 /dev/cpuset/camera-daemon-mid-high-group/tasks + write /sys/kernel/vendor_sched/cam_prefer_idle 1 write /sys/kernel/vendor_sched/cam_uclamp_min 10 diff --git a/powerhint.json b/powerhint.json index a00d7fe..eec7aa0 100644 --- a/powerhint.json +++ b/powerhint.json @@ -136,6 +136,42 @@ "ResetOnInit": true }, { + "Name": "CDCpuset", + "Path": "/dev/cpuset/camera-daemon/cpus", + "Values": [ + "4-7", + "0-7" + ], + "ResetOnInit": true + }, + { + "Name": "CDHighCpusetCpus", + "Path": "/dev/cpuset/camera-daemon-high-group/cpus", + "Values": [ + "6-7", + "0-7" + ], + "ResetOnInit": true + }, + { + "Name": "CDMidCpusetCpus", + "Path": "/dev/cpuset/camera-daemon-mid-group/cpus", + "Values": [ + "4-5", + "0-7" + ], + "ResetOnInit": true + }, + { + "Name": "CDMidHighCpusetCpus", + "Path": "/dev/cpuset/camera-daemon-mid-high-group/cpus", + "Values": [ + "4-7", + "0-7" + ], + "ResetOnInit": true + }, + { "Name": "F2fsRecessModeEnable", "Path": "/dev/sys/fs/by-name/userdata/gc_urgent", "Values": [ @@ -412,6 +448,12 @@ "Value": "9999999" }, { + "PowerHint": "CAMERA_LAUNCH", + "Node": "CDCpuset", + "Duration": 1000, + "Value": "4-7" + }, + { "PowerHint": "CAMERA_SHOT", "Node": "MemFreq", "Duration": 300, @@ -616,6 +658,24 @@ "Value": "0" }, { + "PowerHint": "CAMERA_STREAMING_EXTREME", + "Node": "CDHighCpusetCpus", + "Duration": 0, + "Value": "6-7" + }, + { + "PowerHint": "CAMERA_STREAMING_EXTREME", + "Node": "CDMidCpusetCpus", + "Duration": 0, + "Value": "4-5" + }, + { + "PowerHint": "CAMERA_STREAMING_EXTREME", + "Node": "CDMidHighCpusetCpus", + "Duration": 0, + "Value": "4-7" + }, + { "PowerHint": "CAMERA_STREAMING_HIGH", "Node": "CPUUtilThreshold", "Duration": 0, @@ -682,6 +742,24 @@ "Value": "0" }, { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CDHighCpusetCpus", + "Duration": 0, + "Value": "6-7" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CDMidCpusetCpus", + "Duration": 0, + "Value": "4-5" + }, + { + "PowerHint": "CAMERA_STREAMING_HIGH", + "Node": "CDMidHighCpusetCpus", + "Duration": 0, + "Value": "4-7" + }, + { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "CDPreferHighCap", "Duration": 0, @@ -730,6 +808,24 @@ "Value": "20 10 80" }, { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "CDHighCpusetCpus", + "Duration": 0, + "Value": "6-7" + }, + { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "CDMidCpusetCpus", + "Duration": 0, + "Value": "4-5" + }, + { + "PowerHint": "CAMERA_STREAMING_STANDARD", + "Node": "CDMidHighCpusetCpus", + "Duration": 0, + "Value": "4-7" + }, + { "PowerHint": "CAMERA_STREAMING_LOW", "Node": "CDPreferHighCap", "Duration": 0, @@ -784,6 +880,24 @@ "Value": "20 10 80" }, { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CDHighCpusetCpus", + "Duration": 0, + "Value": "6-7" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CDMidCpusetCpus", + "Duration": 0, + "Value": "4-5" + }, + { + "PowerHint": "CAMERA_STREAMING_LOW", + "Node": "CDMidHighCpusetCpus", + "Duration": 0, + "Value": "4-7" + }, + { "PowerHint": "FIXED_PERFORMANCE", "Node": "CPUBigClusterMaxFreq", "Duration": 0, diff --git a/task_profiles.json b/task_profiles.json index e4f9c07..5ca5431 100644 --- a/task_profiles.json +++ b/task_profiles.json @@ -45,6 +45,45 @@ ] }, { + "Name": "CameraServiceHighCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon-high-group" + } + } + ] + }, + { + "Name": "CameraServiceMidCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon-mid-group" + } + } + ] + }, + { + "Name": "CameraServiceMidHighCapacity", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpuset", + "Path": "camera-daemon-mid-high-group" + } + } + ] + }, + { "Name": "HighEnergySaving", "Actions": [ { |