From 30393266aa0138d0e43f766bae28abfff370ed15 Mon Sep 17 00:00:00 2001 From: Wei Wang Date: Mon, 12 Jul 2021 23:35:08 -0700 Subject: [PATCH] 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 Change-Id: I49b2d589249f60a38eab907afbadfbcfdd233d1c --- conf/init.gs101.rc | 11 +++++++++-- device.mk | 1 - powerhint.json | 15 +++++++++++++++ task_profiles.json | 2 +- 4 files changed, 25 insertions(+), 4 deletions(-) diff --git a/conf/init.gs101.rc b/conf/init.gs101.rc index 5c18880a..c7636988 100644 --- a/conf/init.gs101.rc +++ b/conf/init.gs101.rc @@ -37,6 +37,8 @@ on init 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 @@ on init 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 @@ on property:sys.boot_completed=1 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 44f90062..990b1584 100644 --- a/device.mk +++ b/device.mk @@ -641,7 +641,6 @@ PRODUCT_DEFAULT_PROPERTY_OVERRIDES += ro.surface_flinger.has_HDR_display=true 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 a174af87..fe53dff7 100644 --- a/powerhint.json +++ b/powerhint.json @@ -126,6 +126,15 @@ "DefaultIndex": 1, "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", @@ -331,6 +340,12 @@ "Type": "EndHint", "Value": "DISABLE_TA_BOOST" }, + { + "PowerHint": "INTERACTION", + "Node": "SFUClampBoost", + "Duration": 5000, + "Value": "65" + }, { "PowerHint": "DEVICE_IDLE", "Node": "F2fsRecessModeEnable", diff --git a/task_profiles.json b/task_profiles.json index 70b6b910..d5efd522 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": "", "LogFailures": "false" }