Merge "Revert "Migrate the blkio controller to the v2 cgroup hierarchy""
diff --git a/libprocessgroup/profiles/cgroups.json b/libprocessgroup/profiles/cgroups.json
index 23d76ee..3e4393d 100644
--- a/libprocessgroup/profiles/cgroups.json
+++ b/libprocessgroup/profiles/cgroups.json
@@ -1,6 +1,13 @@
{
"Cgroups": [
{
+ "Controller": "blkio",
+ "Path": "/dev/blkio",
+ "Mode": "0775",
+ "UID": "system",
+ "GID": "system"
+ },
+ {
"Controller": "cpu",
"Path": "/dev/cpuctl",
"Mode": "0755",
@@ -32,11 +39,6 @@
{
"Controller": "freezer",
"Path": "."
- },
- {
- "Controller": "io",
- "Path": ".",
- "NeedsActivation": true
}
]
}
diff --git a/libprocessgroup/profiles/task_profiles.json b/libprocessgroup/profiles/task_profiles.json
index e73de79..7e03964 100644
--- a/libprocessgroup/profiles/task_profiles.json
+++ b/libprocessgroup/profiles/task_profiles.json
@@ -76,24 +76,6 @@
"Name": "FreezerState",
"Controller": "freezer",
"File": "cgroup.freeze"
- },
- {
- "Name": "BfqWeight",
- "Controller": "io",
- "File": "blkio.bfq.weight",
- "FileV2": "io.bfq.weight"
- },
- {
- "Name": "CfqGroupIdle",
- "Controller": "io",
- "File": "blkio.group_idle",
- "FileV2": "io.group_idle"
- },
- {
- "Name": "CfqWeight",
- "Controller": "io",
- "File": "blkio.weight",
- "FileV2": "io.weight"
}
],
@@ -458,30 +440,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"
}
}
]
@@ -490,30 +453,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": ""
}
}
]
@@ -522,30 +466,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": ""
}
}
]
@@ -554,30 +479,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 1bb7ac3..7ad1c3c 100644
--- a/rootdir/init.rc
+++ b/rootdir/init.rc
@@ -243,6 +243,26 @@
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