[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4CE17E1B.7000307@fusionio.com>
Date: Mon, 15 Nov 2010 19:38:19 +0100
From: Jens Axboe <jaxboe@...ionio.com>
To: Vivek Goyal <vgoyal@...hat.com>
CC: linux kernel mailing list <linux-kernel@...r.kernel.org>,
Gui Jianfeng <guijianfeng@...fujitsu.com>,
Balbir Singh <balbir@...ux.vnet.ibm.com>,
KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>,
Li Zefan <lizf@...fujitsu.com>,
Nauman Rafique <nauman@...gle.com>,
"Daniel P. Berrange" <berrange@...hat.com>
Subject: Re: [RFC] blk-cgroup: Allow creation of hierarchical cgroups
On 2010-11-15 16:28, Vivek Goyal wrote:
> On Tue, Nov 02, 2010 at 06:20:30PM -0400, Vivek Goyal wrote:
>> o Allow hierarchical cgroup creation for blkio controller
>>
>> o Currently we disallow it as both the io controller policies (throttling
>> as well as proportion bandwidth) do not support hierarhical accounting
>> and control. But the flip side is that blkio controller can not be used with
>> libvirt as libvirt creates a cgroup hierarchy deeper than 1 level.
>>
>> <top-level-cgroup-dir>/<controller>/libvirt/qemu/<virtual-machine-groups>
>>
>> o So this patch will allow creation of cgroup hierarhcy but at the backend
>> everything will be treated as flat. So if somebody created a an hierarchy
>> like as follows.
>>
>> root
>> / \
>> test1 test2
>> |
>> test3
>>
>> CFQ and throttling will practically treat all groups at same level.
>>
>> pivot
>> / | \ \
>> root test1 test2 test3
>>
>> o Once we have actual support for hierarchical accounting and control
>> then we can introduce another cgroup tunable file "blkio.use_hierarchy"
>> which will be 0 by default but if user wants to enforce hierarhical
>> control then it can be set to 1. This way there should not be any
>> ABI problems down the line.
>>
>> o The only not so pretty part is introduction of extra file "use_hierarchy"
>> down the line. Kame-san had mentioned that hierarhical accounting is
>> expensive in memory controller hence they keep it off by default. I
>> suspect same will be the case for IO controller also as for each IO
>> completion we shall have to account IO through hierarchy up to the root..
>> if yes, then it probably is not a very bad idea to introduce this extra
>> file so that it will be used only when somebody needs it and some people
>> might enable hierarchy only in part of the hierarchy.
>>
>> o This is how basically memory controller also uses "use_hierarhcy" and
>> they also allowed creation of hierarchies when actual backend support
>> was not available.
>>
>> Signed-off-by: Vivek Goyal <vgoyal@...hat.com>
>> ---
>
> Hi Jens,
>
> Do you have any concerns about this patch? If not, can you please apply
> it.
Applied to for-2.6.38/rc2-holder, it'll be merged into for-2.6.38/core
once -rc2 has been tagged (and I can pull in the conflicting bits).
--
Jens Axboe
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists