From 185653e3a29b3b27a4978d7976b5ca8a9e9055cc Mon Sep 17 00:00:00 2001 From: Taeju Park Date: Sun, 28 Mar 2021 08:17:20 +0000 Subject: [PATCH] vendor_hook: separate uclamp configuration Bug: 182509410 Test: build Change-Id: Ide71afdbeb5fd79800823d0d8bb9b2a3a54bcca9 Signed-off-by: Taeju Park --- conf/init.gs101.rc | 16 ++++++++++----- powerhint.json | 35 ++++++++++++------------------- powerhint_a0.json | 51 +++++++++++----------------------------------- powerhint_a1.json | 39 +++++++++++------------------------ task_profiles.json | 48 +++++++++++++++++++++++++++++++------------ 5 files changed, 83 insertions(+), 106 deletions(-) diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index 51f49c0e..62d67eab 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -29,11 +29,6 @@ on init write /dev/sys/fs/by-name/userdata/data_io_flag 56 write /dev/sys/fs/by-name/userdata/node_io_flag 56 - chown system system /sys/kernel/vendor_sched/clear_prefer_high_cap - chown system system /sys/kernel/vendor_sched/set_prefer_high_cap - chmod 0220 /sys/kernel/vendor_sched/clear_prefer_high_cap - chmod 0220 /sys/kernel/vendor_sched/set_prefer_high_cap - wait /dev/block/platform/${ro.boot.boot_devices} symlink /dev/block/platform/${ro.boot.boot_devices} /dev/block/bootdevice @@ -103,6 +98,11 @@ on init write /dev/cpuctl/foreground/cpu.uclamp.min 30 write /dev/cpuctl/foreground/cpu.uclamp.latency_sensitive 1 + write /sys/kernel/vendor_sched/ta_uclamp_min 308 + write /sys/kernel/vendor_sched/ta_prefer_idle 1 + write /sys/kernel/vendor_sched/fg_uclamp_min 308 + write /sys/kernel/vendor_sched/fg_prefer_idle 1 + # governor setting write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor sched_pixel write /sys/devices/system/cpu/cpu0/cpufreq/sched_pixel/up_rate_limit_us 500 @@ -122,8 +122,11 @@ on init chown system system /dev/cpuctl/camera-daemon/cpu.uclamp.max chown system system /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 + write /sys/kernel/vendor_sched/cam_prefer_idle 1 + write /sys/kernel/vendor_sched/cam_uclamp_min 10 chown system system /dev/cpuset/cgroup.procs @@ -200,6 +203,7 @@ on init # Add a boost for NNAPI HAL write /dev/cpuctl/nnapi-hal/cpu.uclamp.min 15 + write /sys/kernel/vendor_sched/nnapi_uclamp_min 154 # Add memlat governor settings write /sys/class/devfreq/gs_memlat_devfreq:devfreq_mif_cl0_memlat@17000010/polling_interval 10 @@ -627,6 +631,8 @@ on property:sys.boot_completed=1 # Setup final cpu.uclamp write /dev/cpuctl/top-app/cpu.uclamp.min 10 write /dev/cpuctl/foreground/cpu.uclamp.min 0 + write /sys/kernel/vendor_sched/ta_uclamp_min 103 + write /sys/kernel/vendor_sched/fg_uclamp_min 0 # gvotables for dumpstate chown system system /sys/kernel/debug/gvotables diff --git a/powerhint.json b/powerhint.json index 2db4c562..fa994425 100644 --- a/powerhint.json +++ b/powerhint.json @@ -93,14 +93,14 @@ }, { "Name": "TAUClampBoost", - "Path": "/dev/cpuctl/top-app/cpu.uclamp.min", + "Path": "/sys/kernel/vendor_sched/ta_uclamp_min", "Values": [ "0", - "54", - "24", - "18", - "12", - "6" + "553", + "246", + "185", + "123", + "62" ], "DefaultIndex": 0, "ResetOnInit": true @@ -114,15 +114,6 @@ ], "ResetOnInit": true }, - { - "Name": "PreferHighCapEnable", - "Path": "/sys/kernel/vendor_sched/prefer_high_cap_enable", - "Values": [ - "1", - "0" - ], - "ResetOnInit": true - }, { "Name": "LimitFlashCurrent", "Path": "vendor.camera.max_flash_current", @@ -186,19 +177,19 @@ "PowerHint": "INTERACTION_120", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "24" + "Value": "246" }, { "PowerHint": "INTERACTION_90", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "18" + "Value": "185" }, { "PowerHint": "INTERACTION_60", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "12" + "Value": "123" }, { "PowerHint": "REFRESH_120FPS", @@ -272,7 +263,7 @@ "PowerHint": "LAUNCH", "Node": "TAUClampBoost", "Duration": 5000, - "Value": "54" + "Value": "553" }, { "PowerHint": "LAUNCH", @@ -398,19 +389,19 @@ "PowerHint": "REFRESH_120FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "18" + "Value": "185" }, { "PowerHint": "REFRESH_90FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "12" + "Value": "123" }, { "PowerHint": "REFRESH_60FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "6" + "Value": "62" }, { "PowerHint": "DISABLE_TA_BOOST", diff --git a/powerhint_a0.json b/powerhint_a0.json index f349d24d..60f6e04d 100644 --- a/powerhint_a0.json +++ b/powerhint_a0.json @@ -55,13 +55,13 @@ }, { "Name": "TAUClampBoost", - "Path": "/dev/cpuctl/top-app/cpu.uclamp.min", + "Path": "/sys/kernel/vendor_sched/ta_uclamp_min", "Values": [ "0", - "40", - "30", - "20", - "10" + "410", + "308", + "205", + "103" ], "DefaultIndex": 0, "ResetOnInit": true @@ -84,15 +84,6 @@ ], "ResetOnInit": true }, - { - "Name": "PreferHighCapEnable", - "Path": "/sys/kernel/vendor_sched/prefer_high_cap_enable", - "Values": [ - "1", - "0" - ], - "ResetOnInit": true - }, { "Name": "PowerHALRenderingState", "Path": "vendor.powerhal.rendering", @@ -140,19 +131,19 @@ "PowerHint": "INTERACTION_120", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "40" + "Value": "410" }, { "PowerHint": "INTERACTION_90", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "30" + "Value": "308" }, { "PowerHint": "INTERACTION_60", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "20" + "Value": "205" }, { "PowerHint": "REFRESH_120FPS", @@ -199,12 +190,6 @@ "Type": "EndHint", "Value": "INTERACTION_60" }, - { - "PowerHint": "INTERACTION", - "Node": "PreferHighCapEnable", - "Duration": 6000, - "Value": "1" - }, { "PowerHint": "INTERACTION", "Node": "UfsClkGateEnable", @@ -250,13 +235,7 @@ "PowerHint": "LAUNCH", "Node": "TAUClampBoost", "Duration": 5000, - "Value": "30" - }, - { - "PowerHint": "LAUNCH", - "Node": "PreferHighCapEnable", - "Duration": 5000, - "Value": "1" + "Value": "308" }, { "PowerHint": "LAUNCH", @@ -306,12 +285,6 @@ "Duration": 0, "Value": "1999000" }, - { - "PowerHint": "CAMERA_STREAMING_STANDARD", - "Node": "PreferHighCapEnable", - "Duration": 0, - "Value": "1" - }, { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "GPUMinFreq", @@ -358,19 +331,19 @@ "PowerHint": "REFRESH_120FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "30" + "Value": "308" }, { "PowerHint": "REFRESH_90FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "20" + "Value": "205" }, { "PowerHint": "REFRESH_60FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "10" + "Value": "103" }, { "PowerHint": "DISABLE_TA_BOOST", diff --git a/powerhint_a1.json b/powerhint_a1.json index 6a13c0ff..96f42680 100644 --- a/powerhint_a1.json +++ b/powerhint_a1.json @@ -75,13 +75,13 @@ }, { "Name": "TAUClampBoost", - "Path": "/dev/cpuctl/top-app/cpu.uclamp.min", + "Path": "/sys/kernel/vendor_sched/ta_uclamp_min", "Values": [ "0", - "40", - "30", - "20", - "10" + "410", + "308", + "205", + "103" ], "DefaultIndex": 0, "ResetOnInit": true @@ -104,15 +104,6 @@ ], "ResetOnInit": true }, - { - "Name": "PreferHighCapEnable", - "Path": "/sys/kernel/vendor_sched/prefer_high_cap_enable", - "Values": [ - "1", - "0" - ], - "ResetOnInit": true - }, { "Name": "LimitFlashCurrent", "Path": "vendor.camera.max_flash_current", @@ -176,19 +167,19 @@ "PowerHint": "INTERACTION_120", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "40" + "Value": "410" }, { "PowerHint": "INTERACTION_90", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "30" + "Value": "308" }, { "PowerHint": "INTERACTION_60", "Node": "TAUClampBoost", "Duration": 6000, - "Value": "20" + "Value": "205" }, { "PowerHint": "REFRESH_120FPS", @@ -280,7 +271,7 @@ "PowerHint": "LAUNCH", "Node": "TAUClampBoost", "Duration": 5000, - "Value": "30" + "Value": "308" }, { "PowerHint": "LAUNCH", @@ -330,12 +321,6 @@ "Duration": 0, "Value": "1999000" }, - { - "PowerHint": "CAMERA_STREAMING_STANDARD", - "Node": "PreferHighCapEnable", - "Duration": 0, - "Value": "1" - }, { "PowerHint": "CAMERA_STREAMING_STANDARD", "Node": "GPUMinFreq", @@ -382,19 +367,19 @@ "PowerHint": "REFRESH_120FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "30" + "Value": "308" }, { "PowerHint": "REFRESH_90FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "20" + "Value": "205" }, { "PowerHint": "REFRESH_60FPS", "Node": "TAUClampBoost", "Duration": 0, - "Value": "10" + "Value": "103" }, { "PowerHint": "DISABLE_TA_BOOST", diff --git a/task_profiles.json b/task_profiles.json index 1e8def09..e4f9c07e 100644 --- a/task_profiles.json +++ b/task_profiles.json @@ -8,14 +8,14 @@ "Params": { "Controller": "cpu", - "Path": "top-app" + "Path": "system" } }, { "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/set_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/set_task_group_ta", "Value": "", "LogFailures": "false" } @@ -30,14 +30,14 @@ "Params": { "Controller": "cpu", - "Path": "camera-daemon" + "Path": "system" } }, { "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/set_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/set_task_group_cam", "Value": "", "LogFailures": "false" } @@ -59,7 +59,7 @@ "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/set_task_group_bg", "Value": "", "LogFailures": "false" } @@ -74,14 +74,14 @@ "Params": { "Controller": "cpu", - "Path": "" + "Path": "system" } }, { "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/clear_group", "Value": "", "LogFailures": "false" } @@ -96,14 +96,14 @@ "Params": { "Controller": "cpu", - "Path": "foreground" + "Path": "system" } }, { "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/set_task_group_fg", "Value": "", "LogFailures": "false" } @@ -118,14 +118,14 @@ "Params": { "Controller": "cpu", - "Path": "rt" + "Path": "system" } }, { "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/set_task_group_ta", "Value": "", "LogFailures": "false" } @@ -140,14 +140,36 @@ "Params": { "Controller": "cpu", - "Path": "nnapi-hal" + "Path": "system" } }, { "Name": "WriteFile", "Params": { - "FilePath": "/sys/kernel/vendor_sched/clear_prefer_high_cap", + "FilePath": "/sys/kernel/vendor_sched/set_task_group_nnapi", + "Value": "", + "LogFailures": "false" + } + } + ] + }, + { + "Name": "SystemBGPerformance", + "Actions": [ + { + "Name": "JoinCgroup", + "Params": + { + "Controller": "cpu", + "Path": "system" + } + }, + { + "Name": "WriteFile", + "Params": + { + "FilePath": "/sys/kernel/vendor_sched/set_task_group_sysbg", "Value": "", "LogFailures": "false" }