From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5D98C433DB for ; Thu, 4 Mar 2021 07:43:05 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 62BC864EFC for ; Thu, 4 Mar 2021 07:43:05 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 62BC864EFC Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id F14276B0008; Thu, 4 Mar 2021 02:43:04 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id EEAEB6B000C; Thu, 4 Mar 2021 02:43:04 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DDA6A6B000D; Thu, 4 Mar 2021 02:43:04 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0185.hostedemail.com [216.40.44.185]) by kanga.kvack.org (Postfix) with ESMTP id C10B46B0008 for ; Thu, 4 Mar 2021 02:43:04 -0500 (EST) Received: from smtpin09.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay05.hostedemail.com (Postfix) with ESMTP id 727D218027A90 for ; Thu, 4 Mar 2021 07:43:04 +0000 (UTC) X-FDA: 77881400688.09.CA60721 Received: from szxga04-in.huawei.com (szxga04-in.huawei.com [45.249.212.190]) by imf17.hostedemail.com (Postfix) with ESMTP id 74AC8407F8EB for ; Thu, 4 Mar 2021 07:43:03 +0000 (UTC) Received: from DGGEMS412-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4DrjTN2j5jzlSX7; Thu, 4 Mar 2021 15:40:40 +0800 (CST) Received: from huawei.com (10.175.112.208) by DGGEMS412-HUB.china.huawei.com (10.3.19.212) with Microsoft SMTP Server id 14.3.498.0; Thu, 4 Mar 2021 15:42:43 +0800 From: Zhou Guanghui To: , CC: , , , , , , , , , , , Subject: [PATCH v2 1/2] mm/memcg: rename mem_cgroup_split_huge_fixup to split_page_memcg Date: Thu, 4 Mar 2021 07:40:52 +0000 Message-ID: <20210304074053.65527-2-zhouguanghui1@huawei.com> X-Mailer: git-send-email 2.25.0 In-Reply-To: <20210304074053.65527-1-zhouguanghui1@huawei.com> References: <20210304074053.65527-1-zhouguanghui1@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.112.208] X-CFilter-Loop: Reflected X-Stat-Signature: dyzyp4px4jkpgie3qrm4h7pnz766m4jt X-Rspamd-Server: rspam02 X-Rspamd-Queue-Id: 74AC8407F8EB Received-SPF: none (huawei.com>: No applicable sender policy available) receiver=imf17; identity=mailfrom; envelope-from=""; helo=szxga04-in.huawei.com; client-ip=45.249.212.190 X-HE-DKIM-Result: none/none X-HE-Tag: 1614843783-365714 Content-Transfer-Encoding: quoted-printable X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Rename mem_cgroup_split_huge_fixup to split_page_memcg and explicitly pass in page number argument. In this way, the interface name is more common and can be used by potential users. In addition, the complete info(memcg and flag) of the memcg needs to be set to the tail pages. Signed-off-by: Zhou Guanghui --- include/linux/memcontrol.h | 6 ++---- mm/huge_memory.c | 2 +- mm/memcontrol.c | 15 ++++++--------- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index e6dc793d587d..0c04d39a7967 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h @@ -1061,9 +1061,7 @@ static inline void memcg_memory_event_mm(struct mm_= struct *mm, rcu_read_unlock(); } =20 -#ifdef CONFIG_TRANSPARENT_HUGEPAGE -void mem_cgroup_split_huge_fixup(struct page *head); -#endif +void split_page_memcg(struct page *head, unsigned int nr); =20 #else /* CONFIG_MEMCG */ =20 @@ -1400,7 +1398,7 @@ unsigned long mem_cgroup_soft_limit_reclaim(pg_data= _t *pgdat, int order, return 0; } =20 -static inline void mem_cgroup_split_huge_fixup(struct page *head) +static inline void split_page_memcg(struct page *head, unsigned int nr) { } =20 diff --git a/mm/huge_memory.c b/mm/huge_memory.c index 395c75111d33..e7f29308ebc8 100644 --- a/mm/huge_memory.c +++ b/mm/huge_memory.c @@ -2471,7 +2471,7 @@ static void __split_huge_page(struct page *page, st= ruct list_head *list, int i; =20 /* complete memcg works before add pages to LRU */ - mem_cgroup_split_huge_fixup(head); + split_page_memcg(head, nr); =20 if (PageAnon(head) && PageSwapCache(head)) { swp_entry_t entry =3D { .val =3D page_private(head) }; diff --git a/mm/memcontrol.c b/mm/memcontrol.c index 845eec01ef9d..e064ac0d850a 100644 --- a/mm/memcontrol.c +++ b/mm/memcontrol.c @@ -3287,24 +3287,21 @@ void obj_cgroup_uncharge(struct obj_cgroup *objcg= , size_t size) =20 #endif /* CONFIG_MEMCG_KMEM */ =20 -#ifdef CONFIG_TRANSPARENT_HUGEPAGE /* - * Because page_memcg(head) is not set on compound tails, set it now. + * Because page_memcg(head) is not set on tails, set it now. */ -void mem_cgroup_split_huge_fixup(struct page *head) +void split_page_memcg(struct page *head, unsigned int nr) { struct mem_cgroup *memcg =3D page_memcg(head); int i; =20 - if (mem_cgroup_disabled()) + if (mem_cgroup_disabled() || !memcg) return; =20 - for (i =3D 1; i < HPAGE_PMD_NR; i++) { - css_get(&memcg->css); - head[i].memcg_data =3D (unsigned long)memcg; - } + for (i =3D 1; i < nr; i++) + head[i].memcg_data =3D head->memcg_data; + css_get_many(&memcg->css, nr - 1); } -#endif /* CONFIG_TRANSPARENT_HUGEPAGE */ =20 #ifdef CONFIG_MEMCG_SWAP /** --=20 2.25.0