|
@@ -94,11 +94,13 @@ Throttling/Upper Limit policy
|
|
|
|
|
|
Hierarchical Cgroups
|
|
|
====================
|
|
|
-- Currently only CFQ supports hierarchical groups. For throttling,
|
|
|
- cgroup interface does allow creation of hierarchical cgroups and
|
|
|
- internally it treats them as flat hierarchy.
|
|
|
|
|
|
- If somebody created a hierarchy like as follows.
|
|
|
+Both CFQ and throttling implement hierarchy support; however,
|
|
|
+throttling's hierarchy support is enabled iff "sane_behavior" is
|
|
|
+enabled from cgroup side, which currently is a development option and
|
|
|
+not publicly available.
|
|
|
+
|
|
|
+If somebody created a hierarchy like as follows.
|
|
|
|
|
|
root
|
|
|
/ \
|
|
@@ -106,21 +108,20 @@ Hierarchical Cgroups
|
|
|
|
|
|
|
test3
|
|
|
|
|
|
- CFQ will handle the hierarchy correctly but and throttling will
|
|
|
- practically treat all groups at same level. For details on CFQ
|
|
|
- hierarchy support, refer to Documentation/block/cfq-iosched.txt.
|
|
|
- Throttling will treat the hierarchy as if it looks like the
|
|
|
- following.
|
|
|
+CFQ by default and throttling with "sane_behavior" will handle the
|
|
|
+hierarchy correctly. For details on CFQ hierarchy support, refer to
|
|
|
+Documentation/block/cfq-iosched.txt. For throttling, all limits apply
|
|
|
+to the whole subtree while all statistics are local to the IOs
|
|
|
+directly generated by tasks in that cgroup.
|
|
|
+
|
|
|
+Throttling without "sane_behavior" enabled from cgroup side will
|
|
|
+practically treat all groups at same level as if it looks like the
|
|
|
+following.
|
|
|
|
|
|
pivot
|
|
|
/ / \ \
|
|
|
root test1 test2 test3
|
|
|
|
|
|
- Nesting cgroups, while allowed, isn't officially supported and blkio
|
|
|
- genereates warning when cgroups nest. Once throttling implements
|
|
|
- hierarchy support, hierarchy will be supported and the warning will
|
|
|
- be removed.
|
|
|
-
|
|
|
Various user visible config options
|
|
|
===================================
|
|
|
CONFIG_BLK_CGROUP
|