From e8678cf883ee78ab9fe5ea47e6d9b24ef7c8d4f7 Mon Sep 17 00:00:00 2001 From: Rick Yiu Date: Fri, 29 Mar 2019 20:03:47 +0800 Subject: [PATCH] Let blkio cgroup follow cpuset cgroup only Some app may have different cgroup settings in cpuset and schedtune for its threads, so let blkio follow cpuset only, which represents the app's current state more accurately. Otherwise, if that thread is doing IO, then its performance will be affected because its blkio group is in lower priority group as schedtune. ex: an app is now in top-app, but some thread of it set schedtune group to background, and blkio follows schedtune because it is called later. Main thread: 6:schedtune:/top-app 5:memory:/ 4:cpuset:/top-app 3:cpuacct:/uid_1000/pid_8766 2:cpu:/ 1:blkio:/ 0::/ Some thread: 6:schedtune:/background 5:memory:/ 4:cpuset:/top-app 3:cpuacct:/uid_1000/pid_8766 2:cpu:/ 1:blkio:/background 0::/ Bug: 124727032 Test: blkio has same settings with cpuset Change-Id: I9a140c7d9d93e1dd43c34c8cf066f4a62e2bf604 --- libprocessgroup/sched_policy.cpp | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/libprocessgroup/sched_policy.cpp b/libprocessgroup/sched_policy.cpp index 1eefadab9..4c83b99ed 100644 --- a/libprocessgroup/sched_policy.cpp +++ b/libprocessgroup/sched_policy.cpp @@ -126,24 +126,15 @@ int set_sched_policy(int tid, SchedPolicy policy) { switch (policy) { case SP_BACKGROUND: - return SetTaskProfiles(tid, {"HighEnergySaving", "LowIoPriority", "TimerSlackHigh"}) - ? 0 - : -1; + return SetTaskProfiles(tid, {"HighEnergySaving", "TimerSlackHigh"}) ? 0 : -1; case SP_FOREGROUND: case SP_AUDIO_APP: case SP_AUDIO_SYS: - return SetTaskProfiles(tid, {"HighPerformance", "HighIoPriority", "TimerSlackNormal"}) - ? 0 - : -1; + return SetTaskProfiles(tid, {"HighPerformance", "TimerSlackNormal"}) ? 0 : -1; case SP_TOP_APP: - return SetTaskProfiles(tid, {"MaxPerformance", "MaxIoPriority", "TimerSlackNormal"}) - ? 0 - : -1; + return SetTaskProfiles(tid, {"MaxPerformance", "TimerSlackNormal"}) ? 0 : -1; case SP_RT_APP: - return SetTaskProfiles(tid, - {"RealtimePerformance", "MaxIoPriority", "TimerSlackNormal"}) - ? 0 - : -1; + return SetTaskProfiles(tid, {"RealtimePerformance", "TimerSlackNormal"}) ? 0 : -1; default: return SetTaskProfiles(tid, {"TimerSlackNormal"}) ? 0 : -1; }