vendor_hook: separate uclamp configuration
Bug: 182509410
Test: build
Change-Id: Ide71afdbeb5fd79800823d0d8bb9b2a3a54bcca9
Signed-off-by: Taeju Park <taeju@google.com>
diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc
index 51f49c0..62d67ea 100644
--- a/conf/init.gs101.rc
+++ b/conf/init.gs101.rc
@@ -29,11 +29,6 @@
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 @@
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 @@
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 @@
# 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 @@
# 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 2db4c56..fa99442 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
@@ -115,15 +115,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",
"Values": [
@@ -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 f349d24..60f6e04 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
@@ -85,15 +85,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",
"Values": [
@@ -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",
@@ -201,12 +192,6 @@
},
{
"PowerHint": "INTERACTION",
- "Node": "PreferHighCapEnable",
- "Duration": 6000,
- "Value": "1"
- },
- {
- "PowerHint": "INTERACTION",
"Node": "UfsClkGateEnable",
"Duration": 200,
"Value": "0"
@@ -250,13 +235,7 @@
"PowerHint": "LAUNCH",
"Node": "TAUClampBoost",
"Duration": 5000,
- "Value": "30"
- },
- {
- "PowerHint": "LAUNCH",
- "Node": "PreferHighCapEnable",
- "Duration": 5000,
- "Value": "1"
+ "Value": "308"
},
{
"PowerHint": "LAUNCH",
@@ -308,12 +287,6 @@
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
- "Node": "PreferHighCapEnable",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "670000"
@@ -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 6a13c0f..96f4268 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
@@ -105,15 +105,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",
"Values": [
@@ -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",
@@ -332,12 +323,6 @@
},
{
"PowerHint": "CAMERA_STREAMING_STANDARD",
- "Node": "PreferHighCapEnable",
- "Duration": 0,
- "Value": "1"
- },
- {
- "PowerHint": "CAMERA_STREAMING_STANDARD",
"Node": "GPUMinFreq",
"Duration": 0,
"Value": "670000"
@@ -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 1e8def0..e4f9c07 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": "<pid>",
"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": "<pid>",
"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": "<pid>",
"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": "<pid>",
"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": "<pid>",
"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": "<pid>",
"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": "<pid>",
+ "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": "<pid>",
"LogFailures": "false"
}