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 Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id E6C20CD1293 for ; Sat, 31 Aug 2024 09:01:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 45BFA8D0019; Sat, 31 Aug 2024 05:01:53 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 40BD08D0013; Sat, 31 Aug 2024 05:01:53 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2D3DD8D0019; Sat, 31 Aug 2024 05:01:53 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0F75C8D0013 for ; Sat, 31 Aug 2024 05:01:53 -0400 (EDT) Received: from smtpin09.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay10.hostedemail.com (Postfix) with ESMTP id C332AC0A3D for ; Sat, 31 Aug 2024 09:01:52 +0000 (UTC) X-FDA: 82511948064.09.05F138F Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by imf12.hostedemail.com (Postfix) with ESMTP id 6574B40005 for ; Sat, 31 Aug 2024 09:01:49 +0000 (UTC) Authentication-Results: imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1725094889; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=3NYbWXTnmWTxuV2QX3VFXn3G+ngskvMHVOeJBBtjl5M=; b=KdPLmXJcfii75dDmEGL13aEwYXdJc4BN68v5/Xh3fWex0ZaczjdOumPZkFu6odE07Fuy58 vCn/CtiFGw/EWwPQhqmN8RQOcFIuJejZcNF4MZGH4zYdxWh/LbrkHiS9yW49DxM38abHla 34wD+SuEhQSHs+T0mhGptsJCH6Dr18E= ARC-Authentication-Results: i=1; imf12.hostedemail.com; dkim=none; spf=pass (imf12.hostedemail.com: domain of linmiaohe@huawei.com designates 45.249.212.187 as permitted sender) smtp.mailfrom=linmiaohe@huawei.com; dmarc=pass (policy=quarantine) header.from=huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1725094889; a=rsa-sha256; cv=none; b=iruSDhWmLUZbAUAR1fspo+b4w6ODTavJyMrX5DPMOepkDSoUhNcSksMCNHAayt8KBMdL/z 6H12wyQ19zg0IWvVS2FxTG6+iSxviK6vUMXupQIkaQbL6EZ3v0WFUbr33lQDZI4vBhEJv4 6Lfz+Re0mRBsa7fC1IUMHnTPoDcm37U= Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4Wwps04q6QzyQws; Sat, 31 Aug 2024 17:00:52 +0800 (CST) Received: from kwepemd200019.china.huawei.com (unknown [7.221.188.193]) by mail.maildlp.com (Postfix) with ESMTPS id F2BBE18009B; Sat, 31 Aug 2024 17:01:44 +0800 (CST) Received: from [10.173.127.72] (10.173.127.72) by kwepemd200019.china.huawei.com (7.221.188.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1544.11; Sat, 31 Aug 2024 17:01:44 +0800 Subject: Re: [PATCH v3 5/5] mm: memory_hotplug: unify Huge/LRU/non-LRU movable folio isolation To: Kefeng Wang , Andrew Morton CC: David Hildenbrand , Oscar Salvador , Naoya Horiguchi , , , Jonathan Cameron References: <20240827114728.3212578-1-wangkefeng.wang@huawei.com> <20240827114728.3212578-6-wangkefeng.wang@huawei.com> From: Miaohe Lin Message-ID: <22b91701-c689-4df9-0777-247e4905fdde@huawei.com> Date: Sat, 31 Aug 2024 17:01:43 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.0 MIME-Version: 1.0 In-Reply-To: <20240827114728.3212578-6-wangkefeng.wang@huawei.com> Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.173.127.72] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To kwepemd200019.china.huawei.com (7.221.188.193) X-Rspam-User: X-Stat-Signature: 9t4n3thmr4ccu3tz1j4ytgnhnusw5ckp X-Rspamd-Queue-Id: 6574B40005 X-Rspamd-Server: rspam11 X-HE-Tag: 1725094909-462916 X-HE-Meta: U2FsdGVkX192kLVcNXjZaLA1fZTgnb5p4XCyDiDy4fl6Dvo5rsCCyok1h9sISvEzhXgQ0wERZJGK6bXPvlAlDH+UKWoAYgooeer/Bdt0uw3qm+viNcXM/O4TBcVBS6wMimEyur65l8Pi7RY16+ohZXiZUv14emkHtpGOBPxeHCsX4XrbRp12LAl1TCFLDXjM7A6g2e7aSCJWZLOB8kkr7HPOZ7kjKhth2lzPjVFTz+iemBVjsyw5wpmSQR1emXBHMoWE+hMaExkb8uBWdh/yQifuRMERACc/42ITtKIxr5ntU6jR88/IcQt7D1yX+UadosKjJ2By4eWBxVyTxKRfpT9PRJ0cg+qwo1A6YWwahNSr8Q9mK1vVIGqPmdnqIYUSF4nGkojJv1Y5sN/tJaBeK1Z8lUg7x1rGKys+JJz9hRCAzmktqrUVfWWPe5qU6gOOpKCSHnE15iLGkyq+pDYxxQT4p8tODeKVsCUj25DQCkY+R1i+vfCQSOtbBLaPgcwUqytDVmccVRot3HKagwmWfQtvKNv9iEy36EtFB1QVs2QKawmBhkBUE9cQ0SR6ufSx0J5LRJSgk+2qx+6FEBc1rcrysqNUa9CZLQ5v/w4ugKDzFhCQm2IFatO/Mcwhlr8cbMcpXoDjTxWDNKs4/xkgscb3EiKKxHihgPEnSAiRr20T+31H8r6IoQZVQ/2tV3yfjAfwbYqaVzHtudn0eqBa2I47ve+sWLHcdWPmgtusAdIeEbtSaGaSHAjrK2k32H/gfwKqviaUoRVCcEw5VjVAMmcwtzbarrO63q7Y6c0J3nIoazRXgVnAr8gtA3BGubPSL38Fsh1RAKn2y+AW62xu121r2HndnIWmX5rO5kM0WuuMIDDd9VQovtsGgvjG93IBe+6LzZ0al8iSWPgdH5v/oFFWD0spwlwXIbQyeG504Vq5T37p92KYbyRaHgo6bVyxMXprTz+65IbxK2CzWEK 3BeoJMBZ kMRZIm1DC6p76d3exBBkTRC3fN6hxJNHKEaAxWbABf2Mql8hHWVEoKQg6qoEHplCGt+OC0Lu0cNWylFwQqXSzErN/y96ICuVjdv+u15wFyR2jB9PtuwPmmGLiWUeNiPKHmjLRSg8Y6XUhM3D/VJeYh0kL4PROEcmonxCyxaLIXW807UhyAQs5K46VVJ7VDHpg9cC1gUCKMgIzEc+VYe1zFIUgmyELj9X9POBAol78kG9C5QvOH3OBZpCFJiJk0sfyBRXNu/kbU9vXHJnDJivzRTc1rA== 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: List-Subscribe: List-Unsubscribe: On 2024/8/27 19:47, Kefeng Wang wrote: > Use the isolate_folio_to_list() to unify hugetlb/LRU/non-LRU folio > isolation, which cleanup code a bit and save a few calls to > compound_head(). > > Signed-off-by: Kefeng Wang > --- > mm/memory_hotplug.c | 45 +++++++++++++++++---------------------------- > 1 file changed, 17 insertions(+), 28 deletions(-) > > diff --git a/mm/memory_hotplug.c b/mm/memory_hotplug.c > index 1335fb6ef7fa..5f09866d17cf 100644 > --- a/mm/memory_hotplug.c > +++ b/mm/memory_hotplug.c > @@ -1772,15 +1772,15 @@ static int scan_movable_pages(unsigned long start, unsigned long end, > > static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > { > + struct folio *folio; > unsigned long pfn; > - struct page *page; > LIST_HEAD(source); > static DEFINE_RATELIMIT_STATE(migrate_rs, DEFAULT_RATELIMIT_INTERVAL, > DEFAULT_RATELIMIT_BURST); > > for (pfn = start_pfn; pfn < end_pfn; pfn++) { > - struct folio *folio; > - bool isolated; > + struct page *page; > + bool hugetlb; > > if (!pfn_valid(pfn)) > continue; > @@ -1811,34 +1811,22 @@ static void do_migrate_range(unsigned long start_pfn, unsigned long end_pfn) > continue; > } > > - if (folio_test_hugetlb(folio)) { > - isolate_hugetlb(folio, &source); > - continue; > + hugetlb = folio_test_hugetlb(folio); > + if (!hugetlb) { > + folio = folio_get_nontail_page(page); > + if (!folio) > + continue; > } > > - if (!get_page_unless_zero(page)) > - continue; > - /* > - * We can skip free pages. And we can deal with pages on > - * LRU and non-lru movable pages. > - */ > - if (PageLRU(page)) > - isolated = isolate_lru_page(page); > - else > - isolated = isolate_movable_page(page, ISOLATE_UNEVICTABLE); > - if (isolated) { > - list_add_tail(&page->lru, &source); This has a side effect that list_add_tail is replaced with list_add now. But it seems this won't cause any problem. Reviewed-by: Miaohe Lin Thanks. .