Patch "mm: rmap: fix huge file mmap accounting in the memcg stats" has been added to the 4.9-stable tree
Subsystems (4)
This is a note to let you know that I've just added the patch titled
mm: rmap: fix huge file mmap accounting in the memcg stats
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
mm-rmap-fix-huge-file-mmap-accounting-in-the-memcg-stats.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
553af430e7c981e6e8fa5007c5b7b5773acc63ddMon Sep 17 00:00:00 2001
From: Johannes Weiner <[email protected]>
Date: Fri, 31 Mar 2017 15:11:50 -0700
Subject: mm: rmap: fix huge file mmap accounting in the memcg stats
From: Johannes Weiner <[email protected]>
commit 553af430e7c981e6e8fa5007c5b7b5773acc63dd upstream.
Huge pages are accounted as single units in the memcg's "file_mapped" counter. Account the correct number of base pages, like we do in the corresponding node counter.
--- include/linux/memcontrol.h | 6 ++++++ mm/rmap.c | 4 ++-- 2 files changed, 8 insertions(+), 2 deletions(-)
include/linux/memcontrol.h +6 -0
@@ -739,6 +739,12 @@ static inline bool mem_cgroup_oom_synchrreturn false; } +static inline void mem_cgroup_update_page_stat (struct page *page, +enum mem_cgroup_stat_index idx, +int nr) +{ +} +static inline void mem_cgroup_inc_page_stat (struct page *page,enum mem_cgroup_stat_index idx) {
mm/rmap.c +2 -2
@@ -1295,7 +1295,7 @@ void page_add_file_rmap(struct page *pag goto out; }__mod_node_page_state (page_pgdat (page),NR_FILE_MAPPED , nr); -mem_cgroup_inc_page_stat (page,MEM_CGROUP_STAT_FILE_MAPPED ); +mem_cgroup_update_page_stat (page,MEM_CGROUP_STAT_FILE_MAPPED , nr); out:unlock_page_memcg (page); }
@@ -1335,7 +1335,7 @@ static void page_remove_file_rmap(struct* pte lock(a spinlock) is held, which implies preemption disabled. */ __mod_node_page_state (page_pgdat (page),NR_FILE_MAPPED , -nr); -mem_cgroup_dec_page_stat (page,MEM_CGROUP_STAT_FILE_MAPPED ); +mem_cgroup_update_page_stat (page,MEM_CGROUP_STAT_FILE_MAPPED , -nr);if (unlikely (PageMlocked (page)))clear_page_mlock (page);
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/mm-rmap-fix-huge-file-mmap-accounting-in-the-memcg-stats.patch