Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for-2.6.38/rc2-holder' into for-2.6.38/core

+27 -4
+27
Documentation/cgroups/blkio-controller.txt
··· 89 89 90 90 Limits for writes can be put using blkio.write_bps_device file. 91 91 92 + Hierarchical Cgroups 93 + ==================== 94 + - Currently none of the IO control policy supports hierarhical groups. But 95 + cgroup interface does allow creation of hierarhical cgroups and internally 96 + IO policies treat them as flat hierarchy. 97 + 98 + So this patch will allow creation of cgroup hierarhcy but at the backend 99 + everything will be treated as flat. So if somebody created a hierarchy like 100 + as follows. 101 + 102 + root 103 + / \ 104 + test1 test2 105 + | 106 + test3 107 + 108 + CFQ and throttling will practically treat all groups at same level. 109 + 110 + pivot 111 + / | \ \ 112 + root test1 test2 test3 113 + 114 + Down the line we can implement hierarchical accounting/control support 115 + and also introduce a new cgroup file "use_hierarchy" which will control 116 + whether cgroup hierarchy is viewed as flat or hierarchical by the policy.. 117 + This is how memory controller also has implemented the things. 118 + 92 119 Various user visible config options 93 120 =================================== 94 121 CONFIG_BLK_CGROUP
-4
block/blk-cgroup.c
··· 1452 1452 goto done; 1453 1453 } 1454 1454 1455 - /* Currently we do not support hierarchy deeper than two level (0,1) */ 1456 - if (parent != cgroup->top_cgroup) 1457 - return ERR_PTR(-EPERM); 1458 - 1459 1455 blkcg = kzalloc(sizeof(*blkcg), GFP_KERNEL); 1460 1456 if (!blkcg) 1461 1457 return ERR_PTR(-ENOMEM);