[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.025 / U:5.780 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site