cgroup: support cgroup writeback on cgroupv1
hulkl inclusion category: feature bugzilla: https://gitee.com/openeuler/kernel/issues/I5ZG61 ------------------------------- In cgroupv1, cgroup writeback is not supproted for two problems: 1) Blkcg_css and memcg_css are mounted on different cgroup trees. Therefore, blkcg_css cannot be found according to a certain memcg_css. 2) Buffer I/O is worked by kthread, which is in the root_blkcg. Therefore, blkcg cannot limit wbps and wiops of buffer I/O. We solve the two problems to support cgroup writeback on cgroupv1. 1) A memcg is attached to the blkcg_root css when the memcg was created. 2) We add a member "wb_blkio_ino" in mem_cgroup_legacy_files. User can attach a memcg to a cerntain blkcg through echo the file inode of the blkcg into the wb_blkio of the memcg. 3) inode_cgwb_enabled() return true when memcg and io are both mounted on cgroupv2 or both on cgroupv1. 4) Buffer I/O can find a blkcg according to its memcg. Thus, a memcg can find a certain blkcg, and cgroup writeback can be supported on cgroupv1. Signed-off-by: NLu Jialin <lujialin4@huawei.com>
Showing
想要评论请 注册 或 登录