platform_system_core/libprocessgroup/profiles
Bart Van Assche 9c0fcbb0f7 libprocessgroup: Add I/O scheduler attributes to task_profiles.json
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>
2022-08-25 14:01:01 -07:00
..
Android.bp [LSC] Add LOCAL_LICENSE_KINDS to system/core 2021-02-19 12:59:05 -08:00
cgroups.json Revert "Migrate the blkio controller to the v2 cgroup hierarchy" 2022-03-30 14:58:20 +00:00
cgroups.proto libprocessgroup: introduce optional attribute for cgroup controllers 2021-03-11 17:42:30 +00:00
cgroups.recovery.json libprocessgroup: fix uid/pid hierarchy for recovery mode 2021-02-11 17:03:19 -08:00
cgroups_28.json libprocessgroup: Change per-API level task profiles to override the diffs 2020-12-03 19:39:31 +00:00
cgroups_29.json libprocessgroup: Change per-API level task profiles to override the diffs 2020-12-03 19:39:31 +00:00
cgroups_30.json libprocessgroup: introduce optional attribute for cgroup controllers 2021-03-11 17:42:30 +00:00
cgroups_test.h libprocessgroup_proto_test split into multiple files 2019-03-15 12:34:42 -07:00
task_profiles.json libprocessgroup: Add I/O scheduler attributes to task_profiles.json 2022-08-25 14:01:01 -07:00
task_profiles.proto Add support for memcg v2 attributes 2022-03-17 14:18:14 -07:00
task_profiles_28.json init.rc: Create a new group for dex2oat 2021-10-22 22:20:07 +08:00
task_profiles_29.json init.rc: Create a new group for dex2oat 2021-10-22 22:20:07 +08:00
task_profiles_30.json init.rc: Create a new group for dex2oat 2021-10-22 22:20:07 +08:00
task_profiles_test.h libprocessgroup_proto_test split into multiple files 2019-03-15 12:34:42 -07:00
test.cpp Fix build with new googletest 2019-11-10 04:08:25 +00:00
test_vendor.cpp libprocessgroup: Add VTS tests for vendor JSON files 2019-03-15 16:28:42 -07:00