diff --git a/libprocessgroup/profiles/cgroups.json b/libprocessgroup/profiles/cgroups.json index 3e4393df2..d013ec858 100644 --- a/libprocessgroup/profiles/cgroups.json +++ b/libprocessgroup/profiles/cgroups.json @@ -1,12 +1,5 @@ { "Cgroups": [ - { - "Controller": "blkio", - "Path": "/dev/blkio", - "Mode": "0775", - "UID": "system", - "GID": "system" - }, { "Controller": "cpu", "Path": "/dev/cpuctl", @@ -39,6 +32,12 @@ { "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 1fc66ba10..2c08b0b31 100644 --- a/libprocessgroup/profiles/task_profiles.json +++ b/libprocessgroup/profiles/task_profiles.json @@ -76,6 +76,21 @@ "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" } ], @@ -439,11 +454,30 @@ "Name": "LowIoPriority", "Actions": [ { - "Name": "JoinCgroup", + "Name": "SetAttribute", "Params": { - "Controller": "blkio", - "Path": "background" + "Name": "BfqWeight", + "Value": "10", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqGroupIdle", + "Value": "0", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqWeight", + "Value": "200", + "Optional": "true" } } ] @@ -452,11 +486,30 @@ "Name": "NormalIoPriority", "Actions": [ { - "Name": "JoinCgroup", + "Name": "SetAttribute", "Params": { - "Controller": "blkio", - "Path": "" + "Name": "BfqWeight", + "Value": "100", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqGroupIdle", + "Value": "0", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqWeight", + "Value": "1000", + "Optional": "true" } } ] @@ -465,11 +518,30 @@ "Name": "HighIoPriority", "Actions": [ { - "Name": "JoinCgroup", + "Name": "SetAttribute", "Params": { - "Controller": "blkio", - "Path": "" + "Name": "BfqWeight", + "Value": "100", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqGroupIdle", + "Value": "0", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqWeight", + "Value": "1000", + "Optional": "true" } } ] @@ -478,11 +550,30 @@ "Name": "MaxIoPriority", "Actions": [ { - "Name": "JoinCgroup", + "Name": "SetAttribute", "Params": { - "Controller": "blkio", - "Path": "" + "Name": "BfqWeight", + "Value": "100", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqGroupIdle", + "Value": "0", + "Optional": "true" + } + }, + { + "Name": "SetAttribute", + "Params": + { + "Name": "CfqWeight", + "Value": "1000", + "Optional": "true" } } ] diff --git a/rootdir/init.rc b/rootdir/init.rc index 317f80908..fb6473666 100644 --- a/rootdir/init.rc +++ b/rootdir/init.rc @@ -219,26 +219,6 @@ 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