9c0fcbb0f7
The differences between the v1 and v2 hierarchies are as follows: * Different mountpoints. In Android the blkio v1 hierarchy has /dev/blkio as top directory while the v2 hierarchy has /sys/fs/cgroup as top directory. * Different directory structure. In Android there are two directories in the v1 blkio hierarchy (. and background) while in the v2 hierarchy there is one subdirectory per process and per task. * Different controller names. The name of the blkio controller in the v1 hierarchy is "blkio" while it is "io" in the v2 hierarchy. * In the v1 hierarchy the NormalIoPriority policy is applied at process creation time but that policy is not applied at process creation time if the blkio controller exists in the v2 hierarchy. Prepare for migration of the blkio controller to the v2 hierarchy by adding the blkio v2 attributes in task_profiles.json. All these attributes have been marked as optional because: * The "io" controller does not exist in the v1 hierarchy. * Which attributes can be applied depends on the I/O scheduler that has been selected (CFQ, BFQ, ...). This patch causes the following warnings to appear in the logs of devices that mount the blkio controller in the v1 hierarchy: W libprocessgroup: Controller io is not found W libprocessgroup: Controller io is not found W libprocessgroup: Controller io is not found W libprocessgroup: SetAttribute: unknown attribute: CfqGroupIdle W libprocessgroup: SetAttribute: unknown attribute: CfqWeight W libprocessgroup: SetAttribute: unknown attribute: BfqWeight This patch restores a subset of aosp/1962326 and prepares for the migration of the blkcg controller to the cgroup v2 hierarchy. Bug: 213617178 Change-Id: Ia7b117bc777239b416e2ac268308e634b018144d Signed-off-by: Bart Van Assche <bvanassche@google.com> |
||
---|---|---|
.. | ||
cgrouprc | ||
cgrouprc_format | ||
include/processgroup | ||
profiles | ||
setup | ||
tools | ||
Android.bp | ||
cgroup_map.cpp | ||
cgroup_map.h | ||
OWNERS | ||
processgroup.cpp | ||
sched_policy.cpp | ||
task_profiles.cpp | ||
task_profiles.h | ||
task_profiles_test.cpp |