Boost SF when interaction hint is active.
We have seen cases SF main thread running longer occasionally which may
run in danger of missing frames. This CL lifts cpufreq for SF when touch
boost is active to compensate the sudden jump of its cpu demand.
Bug: 192099706
Test: Build
Signed-off-by: Wei Wang <wvw@google.com>
Change-Id: I49b2d589249f60a38eab907afbadfbcfdd233d1c
diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc
index 5c18880..c763698 100644
--- a/conf/init.gs101.rc
+++ b/conf/init.gs101.rc
@@ -37,6 +37,8 @@
chown system system /sys/kernel/vendor_sched/set_task_group_sysbg
chown system system /sys/kernel/vendor_sched/set_task_group_ta
chown system system /sys/kernel/vendor_sched/set_task_group_rt
+ chown system system /sys/kernel/vendor_sched/set_task_group_sf
+ chown system system /sys/kernel/vendor_sched/set_task_group_dex2oat
chown system system /sys/kernel/vendor_sched/clear_group
chmod 0220 /sys/kernel/vendor_sched/set_task_group_bg
@@ -47,6 +49,8 @@
chmod 0220 /sys/kernel/vendor_sched/set_task_group_sysbg
chmod 0220 /sys/kernel/vendor_sched/set_task_group_ta
chmod 0220 /sys/kernel/vendor_sched/set_task_group_rt
+ chmod 0220 /sys/kernel/vendor_sched/set_task_group_sf
+ chmod 0220 /sys/kernel/vendor_sched/set_task_group_dex2oat
chmod 0220 /sys/kernel/vendor_sched/clear_group
wait /dev/block/platform/${ro.boot.boot_devices}
@@ -677,8 +681,11 @@
write /sys/kernel/vendor_sched/bg_group_throttle 512
- # Skip little core for RT vendor_grp
- write /sys/kernel/vendor_sched/rt_uclamp_min 125
+ # Setup groups for SF (RT used for SF RE, SF used for SF main)
+ write /sys/kernel/vendor_sched/rt_uclamp_min 12
+ write /sys/kernel/vendor_sched/rt_prefer_idle 1
+ write /sys/kernel/vendor_sched/sf_uclamp_min 30
+ write /sys/kernel/vendor_sched/sf_prefer_idle 1
# Setup cpu.shares to throttle background group at 5%
write /dev/cpuctl/background/cpu.shares 1024
diff --git a/device.mk b/device.mk
index 44f9006..990b158 100644
--- a/device.mk
+++ b/device.mk
@@ -641,7 +641,6 @@
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.use_color_management=true
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.protected_contents=true
PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.display_update_imminent_timeout_ms=50
-PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.uclamp.min=30
# force to blend in P3 mode
PRODUCT_PROPERTY_OVERRIDES += \
diff --git a/powerhint.json b/powerhint.json
index a174af8..fe53dff 100644
--- a/powerhint.json
+++ b/powerhint.json
@@ -127,6 +127,15 @@
"ResetOnInit": true
},
{
+ "Name": "SFUClampBoost",
+ "Path": "/sys/kernel/vendor_sched/sf_uclamp_min",
+ "Values": [
+ "65",
+ "30"
+ ],
+ "ResetOnInit": true
+ },
+ {
"Name": "MLUclampBoost",
"Path": "/sys/kernel/vendor_sched/nnapi_uclamp_min",
"Values": [
@@ -332,6 +341,12 @@
"Value": "DISABLE_TA_BOOST"
},
{
+ "PowerHint": "INTERACTION",
+ "Node": "SFUClampBoost",
+ "Duration": 5000,
+ "Value": "65"
+ },
+ {
"PowerHint": "DEVICE_IDLE",
"Node": "F2fsRecessModeEnable",
"Duration": 0,
diff --git a/task_profiles.json b/task_profiles.json
index 70b6b91..d5efd52 100644
--- a/task_profiles.json
+++ b/task_profiles.json
@@ -191,7 +191,7 @@
"Name": "WriteFile",
"Params":
{
- "FilePath": "/sys/kernel/vendor_sched/set_task_group_fg",
+ "FilePath": "/sys/kernel/vendor_sched/set_task_group_sf",
"Value": "<pid>",
"LogFailures": "false"
}