Commit 66a3bf90 authored by Muchun Song's avatar Muchun Song Committed by Zheng Zengkai
Browse files

mm: memcontrol: change ug->dummy_page only if memcg changed

mainline inclusion
from mainline-v5.13-rc1
commit 7ab345a8
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I4C0GB
CVE: NA

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=7ab345a8973017c89a1be87b6c8722d1fee1fd95

----------------------------------------------------------------------

Just like assignment to ug->memcg, we only need to update ug->dummy_page
if memcg changed.  So move it to there.  This is a very small
optimization.

Link: https://lkml.kernel.org/r/20210319163821.20704-5-songmuchun@bytedance.com


Signed-off-by: default avatarMuchun Song <songmuchun@bytedance.com>
Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
Cc: Michal Hocko <mhocko@kernel.org>
Cc: Roman Gushchin <guro@fb.com>
Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
Cc: Xiongchun Duan <duanxiongchun@bytedance.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: default avatarChen Huang <chenhuang5@huawei.com>
Reviewed-by: default avatarKefeng Wang <wangkefeng.wang@huawei.com>
Reviewed-by: default avatarChen Wandun <chenwandun@huawei.com>
Signed-off-by: default avatarZheng Zengkai <zhengzengkai@huawei.com>
parent 1abb5714
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -7049,6 +7049,7 @@ static void uncharge_page(struct page *page, struct uncharge_gather *ug)
			uncharge_gather_clear(ug);
		}
		ug->memcg = page_memcg(page);
		ug->dummy_page = page;

		/* pairs with css_put in uncharge_batch */
		css_get(&ug->memcg->css);
@@ -7062,7 +7063,6 @@ static void uncharge_page(struct page *page, struct uncharge_gather *ug)
	else
		ug->pgpgout++;

	ug->dummy_page = page;
	page->memcg_data = 0;
	css_put(&ug->memcg->css);
}