[lkml]   [2010]   [Nov]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [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 <>
>> ---
> 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

 \ /
  Last update: 2010-11-15 19:41    [W:0.050 / U:4.008 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site