From mboxrd@z Thu Jan 1 00:00:00 1970 From: Li Zefan Subject: Re: [PATCHSET cgroup/for-3.17] cgroup, blkcg, memcg: make blkcg depend on memcg on unified hierarchy Date: Fri, 4 Jul 2014 14:29:17 +0800 Message-ID: <53B649BD.2010705@huawei.com> References: <1403917392-32555-1-git-send-email-tj@kernel.org> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1403917392-32555-1-git-send-email-tj@kernel.org> Sender: linux-kernel-owner@vger.kernel.org List-ID: Content-Type: text/plain; charset="us-ascii" To: Tejun Heo Cc: cgroups@vger.kernel.org, linux-kernel@vger.kernel.org, hannes@cmpxchg.org, mhocko@suse.cz, vgoyal@redhat.com, axboe@kernel.dk Hi Tejun, On 2014/6/28 9:03, Tejun Heo wrote: > 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. It's great to see this being worked on! > > 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(-) > Acked-by: Li Zefan From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756337AbaGDG3f (ORCPT ); Fri, 4 Jul 2014 02:29:35 -0400 Received: from szxga03-in.huawei.com ([119.145.14.66]:13472 "EHLO szxga03-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755245AbaGDG3c (ORCPT ); Fri, 4 Jul 2014 02:29:32 -0400 Message-ID: <53B649BD.2010705@huawei.com> Date: Fri, 4 Jul 2014 14:29:17 +0800 From: Li Zefan User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8 MIME-Version: 1.0 To: Tejun Heo CC: , , , , , Subject: Re: [PATCHSET cgroup/for-3.17] cgroup, blkcg, memcg: make blkcg depend on memcg on unified hierarchy References: <1403917392-32555-1-git-send-email-tj@kernel.org> In-Reply-To: <1403917392-32555-1-git-send-email-tj@kernel.org> Content-Type: text/plain; charset="GB2312" Content-Transfer-Encoding: 7bit X-Originating-IP: [10.177.18.230] X-CFilter-Loop: Reflected X-Mirapoint-Virus-RAPID-Raw: score=unknown(0), refid=str=0001.0A020205.53B649C3.0026,ss=1,re=0.000,fgs=0, ip=0.0.0.0, so=2013-05-26 15:14:31, dmn=2011-05-27 18:58:46 X-Mirapoint-Loop-Id: 36528b4bf55a32ac64186e09f9386020 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Tejun, On 2014/6/28 9:03, Tejun Heo wrote: > 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. It's great to see this being worked on! > > 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(-) > Acked-by: Li Zefan