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 8297AC5B549 for ; Thu, 5 Jun 2025 03:34:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1FAD06B0089; Wed, 4 Jun 2025 23:34:40 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1ABFB6B008A; Wed, 4 Jun 2025 23:34:40 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 073666B008C; Wed, 4 Jun 2025 23:34:39 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id DC6F66B0089 for ; Wed, 4 Jun 2025 23:34:39 -0400 (EDT) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 8B589161448 for ; Thu, 5 Jun 2025 03:34:39 +0000 (UTC) X-FDA: 83519929878.10.2D2870B Received: from mailout2.samsung.com (mailout2.samsung.com [203.254.224.25]) by imf03.hostedemail.com (Postfix) with ESMTP id 5FA4A2000A for ; Thu, 5 Jun 2025 03:34:35 +0000 (UTC) Authentication-Results: imf03.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=mt+ACr1G; spf=pass (imf03.hostedemail.com: domain of hyesoo.yu@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=hyesoo.yu@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1749094477; 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:dkim-signature; bh=g6o6qJ3bpotp0kNCLPXcpLOpBMROr4ERR72mZ9YdQXM=; b=VQcGDNV5rzVh/wDhsAt74TmjFafMDdDikF1ouy0Gc8fxk4Y2C+2/EgH5CPY2m6rZmRB0wP 5LSvzszMIDcjrU/8Hk7rJPJ6bTOI2wDifO/IhncmjBSXP6JzDrfSZ/5QbKRjxlc/6I0dOv hxwv4nzIj2j4alUUvfmLS3mHMfgPGPg= ARC-Authentication-Results: i=1; imf03.hostedemail.com; dkim=pass header.d=samsung.com header.s=mail20170921 header.b=mt+ACr1G; spf=pass (imf03.hostedemail.com: domain of hyesoo.yu@samsung.com designates 203.254.224.25 as permitted sender) smtp.mailfrom=hyesoo.yu@samsung.com; dmarc=pass (policy=none) header.from=samsung.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1749094477; a=rsa-sha256; cv=none; b=iqZAg0/ipi0Me5V912JtEts55CYc2J4AzQwk3L1SJBUGbJU/OU0BxkrF7PjPpCl0wXMRjg TKEm/U49B6898eWXnn+S2o2+gmB0LpaZE8sKxhA2NBXTodSdDG633f4X+nv4MuEQlgqGDQ +sp5nCdCxAczdFTAnwEtpmIxmKDidnk= Received: from epcas2p2.samsung.com (unknown [182.195.41.54]) by mailout2.samsung.com (KnoxPortal) with ESMTP id 20250605033432epoutp022c59df2ed1314fe38eafc399a309d596~GCCfEfZkK3193831938epoutp02P for ; Thu, 5 Jun 2025 03:34:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.samsung.com 20250605033432epoutp022c59df2ed1314fe38eafc399a309d596~GCCfEfZkK3193831938epoutp02P DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=samsung.com; s=mail20170921; t=1749094472; bh=g6o6qJ3bpotp0kNCLPXcpLOpBMROr4ERR72mZ9YdQXM=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mt+ACr1GsUUPlgD0psZld3Oq9L94O+sSGzHLEP1GD45PAJmkg6T9WZ+BpkLdTYlaV bF14XckCTKXCajy77TIAR7Q42P0IeFJGJrCGE7o7Ai1EkfjI8WQ3haSVW6MW49kIHe Yh4aEF12Yeqe8w6yf7mXTgrbYNE3rWFtRmZCuz5s= Received: from epsnrtp02.localdomain (unknown [182.195.42.154]) by epcas2p3.samsung.com (KnoxPortal) with ESMTPS id 20250605033431epcas2p37c0ff62ab63566682186cb4a2b2d6ef7~GCCewSTFy1644316443epcas2p3w; Thu, 5 Jun 2025 03:34:31 +0000 (GMT) Received: from epcas2p1.samsung.com (unknown [182.195.36.69]) by epsnrtp02.localdomain (Postfix) with ESMTP id 4bCVS71YRMz2SSKY; Thu, 5 Jun 2025 03:34:31 +0000 (GMT) Received: from epsmtip1.samsung.com (unknown [182.195.34.30]) by epcas2p3.samsung.com (KnoxPortal) with ESMTPA id 20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9~GCCdsRLEL1118511185epcas2p3p; Thu, 5 Jun 2025 03:34:30 +0000 (GMT) Received: from localhost.localdomain (unknown [10.229.95.142]) by epsmtip1.samsung.com (KnoxPortal) with ESMTPA id 20250605033430epsmtip10e9fd67e05088f8fecad5e423c1b6dc0~GCCdozjHz2503425034epsmtip18; Thu, 5 Jun 2025 03:34:30 +0000 (GMT) From: Hyesoo Yu To: Cc: janghyuck.kim@samsung.com, zhaoyang.huang@unisoc.com, jaewon31.kim@gmail.com, david@redhat.com, Hyesoo Yu , Andrew Morton , Jason Gunthorpe , John Hubbard , Peter Xu , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] mm: gup: clean up stale logic in migrate_longterm_unpinnable_folio() Date: Thu, 5 Jun 2025 12:32:06 +0900 Message-ID: <20250605033210.3184521-2-hyesoo.yu@samsung.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250605033210.3184521-1-hyesoo.yu@samsung.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CMS-MailID: 20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9 X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-Sendblock-Type: AUTO_CONFIDENTIAL CMS-TYPE: 102P cpgsPolicy: CPGSC10-234,Y X-CFilter-Loop: Reflected X-CMS-RootMailID: 20250605033430epcas2p37db099e1ff4f2225c2059e08bbaa97c9 References: <20250605033210.3184521-1-hyesoo.yu@samsung.com> X-Rspam-User: X-Rspamd-Queue-Id: 5FA4A2000A X-Rspamd-Server: rspam09 X-Stat-Signature: 9478o5qccn65rttkify1iarwx8xrqsxs X-HE-Tag: 1749094475-625781 X-HE-Meta: U2FsdGVkX18VKzN/WVKCpJPC8tH76alyKm6pzQxa0BCAg9Iv6Y1V6Hkw7vUr+JCXBeig/KPl5Xm/22Y6VGe6T4et9+MnNi/4yaPNpVcQATAY9b6zjhGUv6AuHoQHThqATYUiuaPZzZHWa3E4GRltexNtWu37dGfqU53BVSjpBXOcTzoqVXFbwSescSl/GXpxxQhiwzOwURdfiI5ORQpHaHUH1a9d8FFQS2sTabAJYWRxVIjErTGUqekX6ExrSCbYeKexWpWwQIyfsGEAZNXhHMQIpSThrHXBwIkGoHatZmGPPt8M9mS14Ph2H7rwGaxO9RCgUaObdcqnmg/YJ1WpFJhU1Lt7ChyfPZHFkgRyJ+nciJm/jMxiP5Yd/cdU+tdXNixxnbHFn+VidLYit07flHOvDH0n9inHSq1eW9OO4RO9KgwLo0VjfsMIcTxw/1IH2Kv60OK45Kc6Y/jBxb67ogKJ3qNKsYgLDAV2IOHr4ilCbPxLAjeuUa32126AGVY1Wm3PLBWsTnjvBtTweN3K2inYCyFN5nIPLT/eQf7uo+bk6zI9nKWYamquh88m84ESA2tvr7IXfG7ENNrWvAj4Ilp+2oskB+ZJVjgqJxkHmOUk5IEV7OQs8DrNGNVOd7tjDgcr98L2/FTNG7j7S1dWOttUYIzBBzNK1XN4tKCjFSHLJLetbcNN5K7dgzxOL0yauSP8Rw1mh2VEGTeRNWBxj4HAIgP2ikaNB2zUfYNW39ZFuak1zK3xTAOmZ9eAW3607NXLKptFFwHer9XQc2HGu9gM1aSa2XLAOejPr6i89CEFQXh1E/Vn8UDvuBqB0u6o6W7JYnVLPq82Z1u4oNiTECV7JlJ8JK4ZmDHGts7LAE9uxu0SQpv4EOi7gB8hQcC0jKlytp7OTib7yJzXNFcveUyqlxnmrj4cDkRH0HqADISl8xLWWkM2BvyCBjvpDUDYMxO5LK04t0L1vxdxqCh yIpBW7je pnVt+GRbb4IuZZyrndVsEDF901LnK5D0xia7IXPps69iipQJ/SRKN/QlG0RRgzaMmnN2BcuXIxZ5uejy7gzlwKcLC58ESixbsg1qln9nJW8LuFHAACVVPbPQgkcQzV4xe9ejQa1mUK/6si+1JIM6VIzr5H11UQMt4wjusPEMy99yp0k4dk/w54bsYtftDh8IObZFOGtGubUBBAQZooFSQo83ZuQ== 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: migrate_longterm_unpinnable_folio() always receives a non-empty movable_folio_list. Thus, list_empty() check can be safely removed. Also, pofs entries are fully unpinned before migration is attempted. The err label contained unnecessary unpinning logic for pofs, which is now removed. No functional change intended. Signed-off-by: Hyesoo Yu --- mm/gup.c | 30 ++++++++++-------------------- 1 file changed, 10 insertions(+), 20 deletions(-) diff --git a/mm/gup.c b/mm/gup.c index e065a49842a8..68d91b000199 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -2353,7 +2353,12 @@ static int migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list, struct pages_or_folios *pofs) { - int ret; + struct migration_target_control mtc = { + .gfp_mask = GFP_USER | __GFP_NOWARN, + .reason = MR_LONGTERM_PIN, + .nid = NUMA_NO_NODE, + }; + int ret = -EAGAIN; unsigned long i; for (i = 0; i < pofs->nr_entries; i++) { @@ -2370,6 +2375,7 @@ migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list, gup_put_folio(folio, 1, FOLL_PIN); if (migrate_device_coherent_folio(folio)) { + pofs_unpin(pofs); ret = -EBUSY; goto err; } @@ -2388,27 +2394,11 @@ migrate_longterm_unpinnable_folios(struct list_head *movable_folio_list, pofs_clear_entry(pofs, i); } - if (!list_empty(movable_folio_list)) { - struct migration_target_control mtc = { - .nid = NUMA_NO_NODE, - .gfp_mask = GFP_USER | __GFP_NOWARN, - .reason = MR_LONGTERM_PIN, - }; - - if (migrate_pages(movable_folio_list, alloc_migration_target, - NULL, (unsigned long)&mtc, MIGRATE_SYNC, - MR_LONGTERM_PIN, NULL)) { - ret = -ENOMEM; - goto err; - } - } - - putback_movable_pages(movable_folio_list); - - return -EAGAIN; + if (migrate_pages(movable_folio_list, alloc_migration_target, NULL, + (unsigned long)&mtc, MIGRATE_SYNC, MR_LONGTERM_PIN, NULL)) + ret = -ENOMEM; err: - pofs_unpin(pofs); putback_movable_pages(movable_folio_list); return ret; -- 2.49.0