diff options
author | Johannes Weiner <hannes@cmpxchg.org> | 2014-12-10 15:44:25 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-10 17:41:08 -0800 |
commit | 312722cbb2a6e12b74177f025a8ee7189816b04b (patch) | |
tree | 12d1d918accab6dd2b7f94a058071b2372f33352 /mm/highmem.c | |
parent | e544a4e74e02108035de69f97fde7bdf19dba978 (diff) | |
download | op-kernel-dev-312722cbb2a6e12b74177f025a8ee7189816b04b.zip op-kernel-dev-312722cbb2a6e12b74177f025a8ee7189816b04b.tar.gz |
mm: memcontrol: shorten the page statistics update slowpath
While moving charges from one memcg to another, page stat updates must
acquire the old memcg's move_lock to prevent double accounting. That
situation is denoted by an increased memcg->move_accounting. However, the
charge moving code declares this way too early for now, even before
summing up the RSS and pre-allocating destination charges.
Shorten this slowpath mode by increasing memcg->move_accounting only right
before walking the task's address space with the intention of actually
moving the pages.
Signed-off-by: Johannes Weiner <hannes@cmpxchg.org>
Acked-by: Michal Hocko <mhocko@suse.cz>
Reviewed-by: Vladimir Davydov <vdavydov@parallels.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'mm/highmem.c')
0 files changed, 0 insertions, 0 deletions