eef0f563fd
There are multiple use cases in Android for which background writes need to be controlled via the cgroup mechanism. The cgroup mechanism can only control background writes if both the blkio and memcg controllers are mounted in the v2 cgroup hierarchy. Hence this patch that migrates the blkio controller from the v1 to the v2 cgroup hierarchy. The blkio controller has been marked as optional since not all Android kernels enable this controller (CONFIG_BLK_CGROUP). This patch increases the TOTAL_BOOT_TIME for devices with a 4.19 kernel (redfin) from 18.9 s to 20 s. This patch does not affect the boot time for devices with a 5.10 or 5.15 kernel. This patch increases the time spent in CgroupMap::ActivateControllers() by 25 microseconds in Cuttlefish on an x86-64 CPU. CgroupMap::ActivateControllers() is called by Service::Start(). Bug: 213617178 Test: Cuttlefish and various phones Change-Id: I3c07c1be84c3feb277b7d7003652d5d3b57c6541 Signed-off-by: Bart Van Assche <bvanassche@google.com>
44 lines
790 B
JSON
44 lines
790 B
JSON
{
|
|
"Cgroups": [
|
|
{
|
|
"Controller": "cpu",
|
|
"Path": "/dev/cpuctl",
|
|
"Mode": "0755",
|
|
"UID": "system",
|
|
"GID": "system"
|
|
},
|
|
{
|
|
"Controller": "cpuset",
|
|
"Path": "/dev/cpuset",
|
|
"Mode": "0755",
|
|
"UID": "system",
|
|
"GID": "system"
|
|
},
|
|
{
|
|
"Controller": "memory",
|
|
"Path": "/dev/memcg",
|
|
"Mode": "0700",
|
|
"UID": "root",
|
|
"GID": "system",
|
|
"Optional": true
|
|
}
|
|
],
|
|
"Cgroups2": {
|
|
"Path": "/sys/fs/cgroup",
|
|
"Mode": "0775",
|
|
"UID": "system",
|
|
"GID": "system",
|
|
"Controllers": [
|
|
{
|
|
"Controller": "freezer",
|
|
"Path": "."
|
|
},
|
|
{
|
|
"Controller": "io",
|
|
"Path": ".",
|
|
"NeedsActivation": true,
|
|
"Optional": true
|
|
}
|
|
]
|
|
}
|
|
}
|