Hello, guys. Currently, the blkio subsystem attributes all of writeback IOs to the root. One of the issues is that there's no way to tell who originated a writeback IO from block layer. Those IOs are usually issued asynchronously from a task which didn't have anything to do with actually generating the dirty pages. The memory subsystem, when enabled, already keeps track of the ownership of each dirty page and it's desirable for blkio to piggyback instead of adding its own per-page tag. This can be achieved on the unified hierarchy without too much difficulty. This patchset implements a dependency mechanism in the cgroup such that a subsystem can depends on other subsystems. If available, the depended-upon subsystems are enabled together implicitly when the subsystem is turned on. Implicitly enabled subsystems are invisible and the dependencies are transparent to userland. This patchset implements the dependency mechanism in cgroup core and make blkcg depend on memcg. This doesn't actually solve the writeback problem yet but is an important step. This patchset contains the following six patches. 0001-cgroup-reorganize-cgroup_subtree_control_write.patch 0002-cgroup-introduce-cgroup-subtree_control.patch 0003-cgroup-make-interface-files-visible-iff-enabled-on-c.patch 0004-cgroup-implement-cgroup_subsys-css_reset.patch 0005-cgroup-implement-cgroup_subsys-depends_on.patch 0006-blkcg-memcg-make-blkcg-depend-on-memcg-on-the-defaul.patch 0001-0005 gradually implement the dependency mechanism. 0006 makes blkcg depend on memcg. This patchset is on top of a497c3ba1d97 ("Linux 3.16-rc2") and available in the following git branch. git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-cgroup-dependency diffstat follows. Thanks. Documentation/cgroups/cgroups.txt | 14 + Documentation/cgroups/unified-hierarchy.txt | 23 ++- block/blk-cgroup.c | 7 include/linux/cgroup.h | 20 ++ kernel/cgroup.c | 201 ++++++++++++++++++++++------ mm/memcontrol.c | 24 +++ 6 files changed, 243 insertions(+), 46 deletions(-) -- tejun -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html