summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-01-27 03:01:45 +0000
committerAndroid Build Coastguard Worker <android-build-coastguard-worker@google.com>2024-01-27 03:01:45 +0000
commit5dfa67bab5c09db1da101e95b11710ed195fc2e7 (patch)
treeafbe4543455f82e38f0f8858b47e7b7ef77411cb
parent68a6f1400a3dbbd9086b424b3c204336199f18e2 (diff)
parent9b0625c94924a87efaf104101a89e359918954f3 (diff)
downloadcore-android14-qpr2-release.tar.gz
Merge cherrypicks of ['android-review.googlesource.com/2929791', 'android-review.googlesource.com/2929790'] into 24Q1-release.android-14.0.0_r33android-14.0.0_r32android-14.0.0_r31android-14.0.0_r30android-14.0.0_r29android14-qpr2-s3-releaseandroid14-qpr2-s2-releaseandroid14-qpr2-s1-releaseandroid14-qpr2-release
Change-Id: I90b726358d80f569dde7b69fc7827cf9bf2a1812
-rw-r--r--libprocessgroup/profiles/cgroups.json13
-rw-r--r--libprocessgroup/profiles/task_profiles.json156
-rw-r--r--rootdir/init.rc20
3 files changed, 39 insertions, 150 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,6 +1,13 @@
{
"Cgroups": [
{
+ "Controller": "blkio",
+ "Path": "/dev/blkio",
+ "Mode": "0775",
+ "UID": "system",
+ "GID": "system"
+ },
+ {
"Controller": "cpu",
"Path": "/dev/cpuctl",
"Mode": "0755",
@@ -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 f2ef316e2..1fc66ba10 100644
--- a/libprocessgroup/profiles/task_profiles.json
+++ b/libprocessgroup/profiles/task_profiles.json
@@ -76,26 +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"
- },
- {
- "Name": "IoPrioClass",
- "Controller": "io",
- "File": "io.prio.class"
}
],
@@ -459,39 +439,11 @@
"Name": "LowIoPriority",
"Actions": [
{
- "Name": "SetAttribute",
- "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"
- }
- },
- {
- "Name": "SetAttribute",
+ "Name": "JoinCgroup",
"Params":
{
- "Name": "IoPrioClass",
- "Value": "restrict-to-be",
- "Optional": "true"
+ "Controller": "blkio",
+ "Path": "background"
}
}
]
@@ -500,39 +452,11 @@
"Name": "NormalIoPriority",
"Actions": [
{
- "Name": "SetAttribute",
- "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"
- }
- },
- {
- "Name": "SetAttribute",
+ "Name": "JoinCgroup",
"Params":
{
- "Name": "IoPrioClass",
- "Value": "restrict-to-be",
- "Optional": "true"
+ "Controller": "blkio",
+ "Path": ""
}
}
]
@@ -541,39 +465,11 @@
"Name": "HighIoPriority",
"Actions": [
{
- "Name": "SetAttribute",
- "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"
- }
- },
- {
- "Name": "SetAttribute",
+ "Name": "JoinCgroup",
"Params":
{
- "Name": "IoPrioClass",
- "Value": "promote-to-rt",
- "Optional": "true"
+ "Controller": "blkio",
+ "Path": ""
}
}
]
@@ -582,39 +478,11 @@
"Name": "MaxIoPriority",
"Actions": [
{
- "Name": "SetAttribute",
- "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"
- }
- },
- {
- "Name": "SetAttribute",
+ "Name": "JoinCgroup",
"Params":
{
- "Name": "IoPrioClass",
- "Value": "promote-to-rt",
- "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