|
@@ -1,6 +1,6 @@
|
|
|
Memory Resource Controller(Memcg) Implementation Memo.
|
|
|
-Last Updated: 2008/12/15
|
|
|
-Base Kernel Version: based on 2.6.28-rc8-mm.
|
|
|
+Last Updated: 2009/1/19
|
|
|
+Base Kernel Version: based on 2.6.29-rc2.
|
|
|
|
|
|
Because VM is getting complex (one of reasons is memcg...), memcg's behavior
|
|
|
is complex. This is a document for memcg's internal behavior.
|
|
@@ -340,3 +340,23 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
|
|
|
# mount -t cgroup none /cgroup -t cpuset,memory,cpu,devices
|
|
|
|
|
|
and do task move, mkdir, rmdir etc...under this.
|
|
|
+
|
|
|
+ 9.7 swapoff.
|
|
|
+ Besides management of swap is one of complicated parts of memcg,
|
|
|
+ call path of swap-in at swapoff is not same as usual swap-in path..
|
|
|
+ It's worth to be tested explicitly.
|
|
|
+
|
|
|
+ For example, test like following is good.
|
|
|
+ (Shell-A)
|
|
|
+ # mount -t cgroup none /cgroup -t memory
|
|
|
+ # mkdir /cgroup/test
|
|
|
+ # echo 40M > /cgroup/test/memory.limit_in_bytes
|
|
|
+ # echo 0 > /cgroup/test/tasks
|
|
|
+ Run malloc(100M) program under this. You'll see 60M of swaps.
|
|
|
+ (Shell-B)
|
|
|
+ # move all tasks in /cgroup/test to /cgroup
|
|
|
+ # /sbin/swapoff -a
|
|
|
+ # rmdir /test/cgroup
|
|
|
+ # kill malloc task.
|
|
|
+
|
|
|
+ Of course, tmpfs v.s. swapoff test should be tested, too.
|