> The current implementation of memcg only supports direct reclaim and this > patchset adds the support for background reclaim. Per cgroup background > reclaim is needed which spreads out the memory pressure over longer period > of time and smoothes out the system performance. > > The current implementation is not a stable version, and it crashes sometimes > on my NUMA machine. Before going further for debugging, I would like to start > the discussion and hear the feedbacks of the initial design. I haven't read your code at all. However I agree your claim that memcg also need background reclaim. So if you post high level design memo, I'm happy. > > Current status: > I run through some simple tests which reads/writes a large file and makes sure > it triggers per cgroup kswapd on the low_wmark. Also, I compared at > pg_steal/pg_scan ratio w/o background reclaim. > > Step1: Create a cgroup with 500M memory_limit and set the min_free_kbytes to 1024. > $ mount -t cgroup -o cpuset,memory cpuset /dev/cgroup > $ mkdir /dev/cgroup/A > $ echo 0 >/dev/cgroup/A/cpuset.cpus > $ echo 0 >/dev/cgroup/A/cpuset.mems > $ echo 500m >/dev/cgroup/A/memory.limit_in_bytes > $ echo 1024 >/dev/cgroup/A/memory.min_free_kbytes > $ echo $$ >/dev/cgroup/A/tasks > > Step2: Check the wmarks. > $ cat /dev/cgroup/A/memory.reclaim_wmarks > memcg_low_wmark 98304000 > memcg_high_wmark 81920000 > > Step3: Dirty the pages by creating a 20g file on hard drive. > $ ddtest -D /export/hdc3/dd -b 1024 -n 20971520 -t 1 > > Checked the memory.stat w/o background reclaim. It used to be all the pages are > reclaimed from direct reclaim, and now about half of them are reclaimed at > background. (note: writing '0' to min_free_kbytes disables per cgroup kswapd) -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom policy in Canada: sign http://dissolvethecrtc.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>