[mm] [PATCH 1/4] Memory cgroup hierarchy documentation

From: Balbir Singh
Date: Sat Nov 01 2008 - 14:48:46 EST




Documentation updates for hierarchy support

Signed-off-by: Balbir Singh <balbir@xxxxxxxxxxxxxxxxxx>
---

Documentation/controllers/memory.txt | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

diff -puN Documentation/controllers/memory.txt~memcg-hierarchy-documentation Documentation/controllers/memory.txt
--- linux-2.6.28-rc2/Documentation/controllers/memory.txt~memcg-hierarchy-documentation 2008-11-02 00:14:54.000000000 +0530
+++ linux-2.6.28-rc2-balbir/Documentation/controllers/memory.txt 2008-11-02 00:14:54.000000000 +0530
@@ -245,6 +245,40 @@ cgroup might have some charge associated
tasks have migrated away from it. Such charges are automatically dropped at
rmdir() if there are no tasks.

+5. Hierarchy support
+
+The memory controller supports a deep hierarchy and hierarchical accounting.
+The hierarchy is created by creating the appropriate cgroups in the
+cgroup filesystem. Consider for example, the following cgroup filesystem
+hierarchy
+
+ root
+ / | \
+ / | \
+ a b c
+ | \
+ | \
+ d e
+
+In the diagram above, with hierarchical accounting enabled, all memory
+usage of e, is accounted to its ancestors up until the root (i.e, c and root).
+If one of the ancestors goes over its limit, the reclaim algorithm reclaims
+from the tasks in the ancestor and the children of the ancestor.
+
+5.1 Enabling hierarchical accounting and reclaim
+
+The memory controller by default disables the hierarchy feature. Support
+can be enabled by writing 1 to memory.features file of the root cgroup
+
+# echo 1 > memory.features
+
+The feature can be disabled by
+
+# echo 0 > memory.features
+
+NOTE: Enabling/disabling will fail if the root cgroup already has other
+cgroups created below it.
+
5. TODO

1. Add support for accounting huge pages (as a separate controller)
_

--
Balbir
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/