[Devel] [PATCH -mmotm 0/4] memcg: per cgroup dirty limit (v4)
Andrea Righi
arighi at develer.com
Thu Mar 4 02:43:16 PST 2010
Control the maximum amount of dirty pages a cgroup can have at any given time.
Per cgroup dirty limit is like fixing the max amount of dirty (hard to reclaim)
page cache used by any cgroup. So, in case of multiple cgroup writers, they
will not be able to consume more than their designated share of dirty pages and
will be forced to perform write-out if they cross that limit.
The overall design is the following:
- account dirty pages per cgroup
- limit the number of dirty pages via memory.dirty_ratio / memory.dirty_bytes
and memory.dirty_background_ratio / memory.dirty_background_bytes in
cgroupfs
- start to write-out (background or actively) when the cgroup limits are
exceeded
This feature is supposed to be strictly connected to any underlying IO
controller implementation, so we can stop increasing dirty pages in VM layer
and enforce a write-out before any cgroup will consume the global amount of
dirty pages defined by the /proc/sys/vm/dirty_ratio|dirty_bytes and
/proc/sys/vm/dirty_background_ratio|dirty_background_bytes limits.
Changelog (v3 -> v4)
~~~~~~~~~~~~~~~~~~~~~~
* handle the migration of tasks across different cgroups
NOTE: at the moment we don't move charges of file cache pages, so this
functionality is not immediately necessary. However, since the migration of
file cache pages is in plan, it is better to start handling file pages
anyway.
* properly account dirty pages in nilfs2
(thanks to Kirill A. Shutemov <kirill at shutemov.name>)
* lockless access to dirty memory parameters
* fix: page_cgroup lock must not be acquired under mapping->tree_lock
(thanks to Daisuke Nishimura <nishimura at mxp.nes.nec.co.jp> and
KAMEZAWA Hiroyuki <kamezawa.hiroyu at jp.fujitsu.com>)
* code restyling
-Andrea
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers
More information about the Devel
mailing list