From: Muchun Song songmuchun@bytedance.com
mainline inclusion from mainline-v5.13-rc1 commit 7ab345a8973017c89a1be87b6c8722d1fee1fd95 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/?i...
----------------------------------------------------------------------
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: Muchun Song songmuchun@bytedance.com Acked-by: Johannes Weiner hannes@cmpxchg.org Reviewed-by: Shakeel 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: Andrew Morton akpm@linux-foundation.org Signed-off-by: Linus Torvalds torvalds@linux-foundation.org Signed-off-by: Chen Huang chenhuang5@huawei.com Reviewed-by: Kefeng Wang wangkefeng.wang@huawei.com Reviewed-by: Chen Wandun chenwandun@huawei.com Signed-off-by: Zheng Zengkai zhengzengkai@huawei.com --- mm/memcontrol.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 80bc12a3d4bb..b68ab450c8d9 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -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); }