From patchwork Wed Apr 24 13:59:21 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Kefeng Wang X-Patchwork-Id: 13641920 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 E28A8C4345F for ; Wed, 24 Apr 2024 13:59:53 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id D662B8D0010; Wed, 24 Apr 2024 09:59:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id CC8268D0012; Wed, 24 Apr 2024 09:59:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id B1E388D0010; Wed, 24 Apr 2024 09:59:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 566828D0017 for ; Wed, 24 Apr 2024 09:59:44 -0400 (EDT) Received: from smtpin30.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 1C7411A10AA for ; Wed, 24 Apr 2024 13:59:44 +0000 (UTC) X-FDA: 82044583488.30.6C3AC4B Received: from szxga08-in.huawei.com (szxga08-in.huawei.com [45.249.212.255]) by imf14.hostedemail.com (Postfix) with ESMTP id EFD8E100014; Wed, 24 Apr 2024 13:59:38 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf14.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1713967180; 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=0GBpOw54h9vDdVipFA0f2BFetWj3AA+oUq3Hfr+E/MM=; b=Iqgfntq52y8rDMgNHkPgBNpNH5noGDoXmEnMcusKzw4BItASQKqpP6EGFmc5CWSpQxmqYk WAEEcjyr83rfblxMRGCPucAxVKcxBI0JRAn8H7fVbGoiIyBJhJq4sFG+PvlBOnuHIJwnB7 oOR7kYga+rjZCib+6X9a5FHw2QdvSkE= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=none; dmarc=pass (policy=quarantine) header.from=huawei.com; spf=pass (imf14.hostedemail.com: domain of wangkefeng.wang@huawei.com designates 45.249.212.255 as permitted sender) smtp.mailfrom=wangkefeng.wang@huawei.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1713967180; a=rsa-sha256; cv=none; b=rfXJeIuRA1ZDr1ZQNW3OfOGIWsOG8/JzMxf7DW6dG+llXRmGnCKVdV/ZXklqI15xkItSlU eU/HFlyC2FFSekVa0aUL46Cufb4DJ1V2WwDv2vLSB5mYV6ey3jPfTFIBGY4YktG8+nLV1K dIG4yH3cyjbio8OVhXpsRO9sU9vu2Dk= Received: from mail.maildlp.com (unknown [172.19.163.48]) by szxga08-in.huawei.com (SkyGuard) with ESMTP id 4VPgWj2kcpz1R8X0; Wed, 24 Apr 2024 21:56:33 +0800 (CST) Received: from dggpemm100001.china.huawei.com (unknown [7.185.36.93]) by mail.maildlp.com (Postfix) with ESMTPS id 16E7C18007D; Wed, 24 Apr 2024 21:59:35 +0800 (CST) Received: from localhost.localdomain (10.175.112.125) by dggpemm100001.china.huawei.com (7.185.36.93) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.35; Wed, 24 Apr 2024 21:59:34 +0800 From: Kefeng Wang To: Andrew Morton , CC: Tony Luck , Miaohe Lin , Naoya Horiguchi , Matthew Wilcox , David Hildenbrand , Muchun Song , Benjamin LaHaise , , , , Zi Yan , Jiaqi Yan , Hugh Dickins , Vishal Moola , Kefeng Wang Subject: [PATCH v2 02/10] mm: migrate_device: use more folio in __migrate_device_pages() Date: Wed, 24 Apr 2024 21:59:21 +0800 Message-ID: <20240424135929.2847185-3-wangkefeng.wang@huawei.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20240424135929.2847185-1-wangkefeng.wang@huawei.com> References: <20240424135929.2847185-1-wangkefeng.wang@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.175.112.125] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpemm100001.china.huawei.com (7.185.36.93) X-Stat-Signature: 1farh4k4a9jdnsd3s575arsnp7guo4gh X-Rspamd-Queue-Id: EFD8E100014 X-Rspamd-Server: rspam10 X-Rspam-User: X-HE-Tag: 1713967178-192813 X-HE-Meta: U2FsdGVkX1/bNA/jbWs0LsLSOyv0ZNr7OPAjZ6lwBKsc8iJnqfglo6234LkZR1riULtM38nOPdeXR9e6A9ZiQjW0q+UbnqBJtZsK9uEwClNDw8CpB8qhtrRrKoVBi7SZwafBaAML3MpZDGlFXBOiKrlzhpVFm0GNAt5vsLCvCrgAm75ICVj1chJ77oP26f2H2c7Z+2KarJZ+LDTV+Jq5H8ItbqOFMsA31mcHI8RsVq6dDnMocij488ZCbEA4QKU1I7O+HzNJdkOkK3FuW0tOU+8iF4Y/O211CTqsrsa91gRbX/O8fAEn2nMKX3g9a4b6I+EYm7iIQcvqmBxPeYcBveF/oSOOoS2S0xsZDzD0bBlnpMk5eMyF2n9r0BHOwe1vnlR9f4riTaRNuzhrcZQhJ2HOzVFDu26Nnf3Dz06RPag0qZwwa3vn/rdVAI5MmgTT9J431OvzMVFQXQ4sQR/0J+2lRcC7WS4+E7BhTeo4uMIbkqtGTfqBCBRNvK9fM9XBDd75pZFb3jr8+n7tuwGuAMlsULq7K1ZJ8Jd8RzzIOH1IJqoF0j9GThkns1ypanx0OoaYeyfZycWn9jFRvVM0igbBBDu6splwygIl3XyxEuPgET0Xp0RsG/91UBl/YyDAW24dT5iRdUgNHwLoHo5r4ScaZNL6gpvb7pR9NzkqbrBpHrf2y53pD9CIvpmwl+7aLOC28yCAHiWj70+8nxvo5i6MKEEucdrLAY33mH+JXky6iks8mKFDW64+AhqYCxFegequvO9lBhpUagwQ+QwFn2IYkTABrMJz9epvSlvtOFUKEJuCKUdBZfLKKioXmLMmNphOjUsQQHmPNM/Rs5ySLBMaR4WefFAP+SmTIn8dovJE0I6bXGucPNl8QSCYkbQf5CGK3F2qphjtm5dvmWRg6467SkkhvDtEg+tw7kNQAJYj9dRMX+Gso8oqzDGBC7i6uJnouZzbHBfojcqxJSs 1Wg== 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: Use newfolio/folio for migrate_folio_extra()/migrate_folio() to save four compound_head() calls. Reviewed-by: Matthew Wilcox (Oracle) Reviewed-by: Vishal Moola (Oracle) Reviewed-by: Miaohe Lin Signed-off-by: Kefeng Wang --- mm/migrate_device.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/mm/migrate_device.c b/mm/migrate_device.c index a1f87aada1bd..1b6658519f64 100644 --- a/mm/migrate_device.c +++ b/mm/migrate_device.c @@ -690,6 +690,7 @@ static void __migrate_device_pages(unsigned long *src_pfns, struct page *newpage = migrate_pfn_to_page(dst_pfns[i]); struct page *page = migrate_pfn_to_page(src_pfns[i]); struct address_space *mapping; + struct folio *newfolio, *folio; int r; if (!newpage) { @@ -724,14 +725,13 @@ static void __migrate_device_pages(unsigned long *src_pfns, continue; } - mapping = page_mapping(page); + newfolio = page_folio(newpage); + folio = page_folio(page); + mapping = folio_mapping(folio); - if (is_device_private_page(newpage) || - is_device_coherent_page(newpage)) { + if (folio_is_device_private(newfolio) || + folio_is_device_coherent(newfolio)) { if (mapping) { - struct folio *folio; - - folio = page_folio(page); /* * For now only support anonymous memory migrating to @@ -745,7 +745,7 @@ static void __migrate_device_pages(unsigned long *src_pfns, continue; } } - } else if (is_zone_device_page(newpage)) { + } else if (folio_is_zone_device(newfolio)) { /* * Other types of ZONE_DEVICE page are not supported. */ @@ -754,12 +754,11 @@ static void __migrate_device_pages(unsigned long *src_pfns, } if (migrate && migrate->fault_page == page) - r = migrate_folio_extra(mapping, page_folio(newpage), - page_folio(page), + r = migrate_folio_extra(mapping, newfolio, folio, MIGRATE_SYNC_NO_COPY, 1); else - r = migrate_folio(mapping, page_folio(newpage), - page_folio(page), MIGRATE_SYNC_NO_COPY); + r = migrate_folio(mapping, newfolio, folio, + MIGRATE_SYNC_NO_COPY); if (r != MIGRATEPAGE_SUCCESS) src_pfns[i] &= ~MIGRATE_PFN_MIGRATE; }