From 9e38fe5299375f87aac4c3a33dc0a5a47c3859ee Mon Sep 17 00:00:00 2001 From: Randall Huang Date: Fri, 26 Jan 2024 03:51:53 +0000 Subject: [PATCH 1/2] Revert "task_profiles.json: Set io.prio.class" This reverts commit 9bba87244d6bbf46e776834d0917b2dd1143f31d. Reason for revert: b/314861914 Change-Id: I566c4fa98e4d1bd8701086c2b5e34802ee0a89fb --- libprocessgroup/profiles/task_profiles.json | 41 --------------------- 1 file changed, 41 deletions(-) diff --git a/libprocessgroup/profiles/task_profiles.json b/libprocessgroup/profiles/task_profiles.json index f2ef316e2..2c08b0b31 100644 --- a/libprocessgroup/profiles/task_profiles.json +++ b/libprocessgroup/profiles/task_profiles.json @@ -91,11 +91,6 @@ "Name": "CfqWeight", "Controller": "io", "File": "io.weight" - }, - { - "Name": "IoPrioClass", - "Controller": "io", - "File": "io.prio.class" } ], @@ -484,15 +479,6 @@ "Value": "200", "Optional": "true" } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "IoPrioClass", - "Value": "restrict-to-be", - "Optional": "true" - } } ] }, @@ -525,15 +511,6 @@ "Value": "1000", "Optional": "true" } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "IoPrioClass", - "Value": "restrict-to-be", - "Optional": "true" - } } ] }, @@ -566,15 +543,6 @@ "Value": "1000", "Optional": "true" } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "IoPrioClass", - "Value": "promote-to-rt", - "Optional": "true" - } } ] }, @@ -607,15 +575,6 @@ "Value": "1000", "Optional": "true" } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "IoPrioClass", - "Value": "promote-to-rt", - "Optional": "true" - } } ] }, From d0ce4ca33cd5b1a48a3ef7f8b6da39e5498421c5 Mon Sep 17 00:00:00 2001 From: Randall Huang Date: Fri, 26 Jan 2024 03:48:12 +0000 Subject: [PATCH 2/2] Revert "Migrate the blkio controller to the v2 cgroup hierarchy" This reverts commit f99ca8aeb1d20218663911ec3d1ea12b2ee9fd05. Reason for revert: b/2768906 Change-Id: I9ce259a2c96e9f8dd8c7598204c35922b56f7a0a --- libprocessgroup/profiles/cgroups.json | 13 ++- libprocessgroup/profiles/task_profiles.json | 115 ++------------------ rootdir/init.rc | 20 ++++ 3 files changed, 39 insertions(+), 109 deletions(-) diff --git a/libprocessgroup/profiles/cgroups.json b/libprocessgroup/profiles/cgroups.json index d013ec858..3e4393df2 100644 --- a/libprocessgroup/profiles/cgroups.json +++ b/libprocessgroup/profiles/cgroups.json @@ -1,5 +1,12 @@ { "Cgroups": [ + { + "Controller": "blkio", + "Path": "/dev/blkio", + "Mode": "0775", + "UID": "system", + "GID": "system" + }, { "Controller": "cpu", "Path": "/dev/cpuctl", @@ -32,12 +39,6 @@ { "Controller": "freezer", "Path": "." - }, - { - "Controller": "io", - "Path": ".", - "NeedsActivation": true, - "Optional": true } ] } diff --git a/libprocessgroup/profiles/task_profiles.json b/libprocessgroup/profiles/task_profiles.json index 2c08b0b31..1fc66ba10 100644 --- a/libprocessgroup/profiles/task_profiles.json +++ b/libprocessgroup/profiles/task_profiles.json @@ -76,21 +76,6 @@ "Name": "FreezerState", "Controller": "freezer", "File": "cgroup.freeze" - }, - { - "Name": "BfqWeight", - "Controller": "io", - "File": "io.bfq.weight" - }, - { - "Name": "CfqGroupIdle", - "Controller": "io", - "File": "io.group_idle" - }, - { - "Name": "CfqWeight", - "Controller": "io", - "File": "io.weight" } ], @@ -454,30 +439,11 @@ "Name": "LowIoPriority", "Actions": [ { - "Name": "SetAttribute", + "Name": "JoinCgroup", "Params": { - "Name": "BfqWeight", - "Value": "10", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqGroupIdle", - "Value": "0", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqWeight", - "Value": "200", - "Optional": "true" + "Controller": "blkio", + "Path": "background" } } ] @@ -486,30 +452,11 @@ "Name": "NormalIoPriority", "Actions": [ { - "Name": "SetAttribute", + "Name": "JoinCgroup", "Params": { - "Name": "BfqWeight", - "Value": "100", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqGroupIdle", - "Value": "0", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqWeight", - "Value": "1000", - "Optional": "true" + "Controller": "blkio", + "Path": "" } } ] @@ -518,30 +465,11 @@ "Name": "HighIoPriority", "Actions": [ { - "Name": "SetAttribute", + "Name": "JoinCgroup", "Params": { - "Name": "BfqWeight", - "Value": "100", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqGroupIdle", - "Value": "0", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqWeight", - "Value": "1000", - "Optional": "true" + "Controller": "blkio", + "Path": "" } } ] @@ -550,30 +478,11 @@ "Name": "MaxIoPriority", "Actions": [ { - "Name": "SetAttribute", + "Name": "JoinCgroup", "Params": { - "Name": "BfqWeight", - "Value": "100", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqGroupIdle", - "Value": "0", - "Optional": "true" - } - }, - { - "Name": "SetAttribute", - "Params": - { - "Name": "CfqWeight", - "Value": "1000", - "Optional": "true" + "Controller": "blkio", + "Path": "" } } ] diff --git a/rootdir/init.rc b/rootdir/init.rc index fb6473666..317f80908 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -219,6 +219,26 @@ on init write /dev/stune/nnapi-hal/schedtune.boost 1 write /dev/stune/nnapi-hal/schedtune.prefer_idle 1 + # Create blkio group and apply initial settings. + # This feature needs kernel to support it, and the + # device's init.rc must actually set the correct values. + mkdir /dev/blkio/background + chown system system /dev/blkio + chown system system /dev/blkio/background + chown system system /dev/blkio/tasks + chown system system /dev/blkio/background/tasks + chown system system /dev/blkio/cgroup.procs + chown system system /dev/blkio/background/cgroup.procs + chmod 0664 /dev/blkio/tasks + chmod 0664 /dev/blkio/background/tasks + chmod 0664 /dev/blkio/cgroup.procs + chmod 0664 /dev/blkio/background/cgroup.procs + write /dev/blkio/blkio.weight 1000 + write /dev/blkio/background/blkio.weight 200 + write /dev/blkio/background/blkio.bfq.weight 10 + write /dev/blkio/blkio.group_idle 0 + write /dev/blkio/background/blkio.group_idle 0 + restorecon_recursive /mnt mount configfs none /config nodev noexec nosuid