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 100D6C2BA18 for ; Fri, 21 Jun 2024 03:39:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 95DE28D0128; Thu, 20 Jun 2024 23:39:19 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 90D8F8D00DB; Thu, 20 Jun 2024 23:39:19 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 7D56D8D0128; Thu, 20 Jun 2024 23:39:19 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 5DA128D00DB for ; Thu, 20 Jun 2024 23:39:19 -0400 (EDT) Received: from smtpin04.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay09.hostedemail.com (Postfix) with ESMTP id DA0B180808 for ; Fri, 21 Jun 2024 03:39:18 +0000 (UTC) X-FDA: 82253490396.04.D283E55 Received: from out30-124.freemail.mail.aliyun.com (out30-124.freemail.mail.aliyun.com [115.124.30.124]) by imf04.hostedemail.com (Postfix) with ESMTP id A5DE040008 for ; Fri, 21 Jun 2024 03:39:15 +0000 (UTC) Authentication-Results: imf04.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="VoW4T/Wm"; spf=pass (imf04.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1718941147; 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=WMQicdjofrQpjTY14SHJsetHY5HbBnIjFn+Mnq60DqI=; b=wrfuDRYLIpp3E9ZCUG1wXOuXpiQKt9sAn50UtUmZs4+ffg5acWIdY26z466MRIf8ElaNrS sGPFGkYU59BCOYK7r1Osv+Hb8IMJh6M7ZoL617/j2O2cygK2uMN4iKGpyupzzpWJaDJ1QT 6C9SrxyViCmOYtSMpRcJLcAdAJNhej8= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1718941147; a=rsa-sha256; cv=none; b=A+rrdWiY3J/NClG/ZPokaFhz97oYMZAoOhJxbkuovi+UqY5gKi44rlz34dZIsBMVJw9psI g104FWpJ+QAVV9q77ZLM3rKFXqUW0aRwFdkHtiTVn6hZehCrAXxjC+Ui2jPILDDFuhZkre usMzcfrdC3IanFXFLnIbgc24nL/Kk3o= ARC-Authentication-Results: i=1; imf04.hostedemail.com; dkim=pass header.d=linux.alibaba.com header.s=default header.b="VoW4T/Wm"; spf=pass (imf04.hostedemail.com: domain of baolin.wang@linux.alibaba.com designates 115.124.30.124 as permitted sender) smtp.mailfrom=baolin.wang@linux.alibaba.com; dmarc=pass (policy=none) header.from=linux.alibaba.com DKIM-Signature:v=1; a=rsa-sha256; c=relaxed/relaxed; d=linux.alibaba.com; s=default; t=1718941152; h=Message-ID:Date:MIME-Version:Subject:To:From:Content-Type; bh=WMQicdjofrQpjTY14SHJsetHY5HbBnIjFn+Mnq60DqI=; b=VoW4T/Wm2iqhhhC9Qcdh/zu1CrxAb45VUFuS8iapyc0njfZ6dBQSQ1/qJr/WMfM4RrV7nnCOmmKFmMYAw+6kbuWoZUvzWhz6LCumoh7ST6woX/O7sFXMrhmWYRSXwyzTpng6NuWYix3ZMtuYhF85rAsvAq5VREj6rNAPNQHSQXo= X-Alimail-AntiSpam:AC=PASS;BC=-1|-1;BR=01201311R151e4;CH=green;DM=||false|;DS=||;FP=0|-1|-1|-1|0|-1|-1|-1;HT=maildocker-contentspam033037067113;MF=baolin.wang@linux.alibaba.com;NM=1;PH=DS;RN=4;SR=0;TI=SMTPD_---0W8upPoS_1718941150; Received: from 192.168.43.81(mailfrom:baolin.wang@linux.alibaba.com fp:SMTPD_---0W8upPoS_1718941150) by smtp.aliyun-inc.com; Fri, 21 Jun 2024 11:39:11 +0800 Message-ID: Date: Fri, 21 Jun 2024 11:39:09 +0800 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v1 1/2] mm/migrate: make migrate_misplaced_folio() return 0 on success To: David Hildenbrand , linux-kernel@vger.kernel.org Cc: linux-mm@kvack.org, Andrew Morton References: <20240620212935.656243-1-david@redhat.com> <20240620212935.656243-2-david@redhat.com> From: Baolin Wang In-Reply-To: <20240620212935.656243-2-david@redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Rspamd-Queue-Id: A5DE040008 X-Stat-Signature: fk34yu8aoxez3y35w8fexghyysbms1bh X-Rspamd-Server: rspam09 X-Rspam-User: X-HE-Tag: 1718941155-468994 X-HE-Meta: U2FsdGVkX1+ylY8k1B8KQXXxUxYw3LntgOdk6LdrrWMSXpEnvXjl/iAPvGhlBoNxx0AJk65UPP15b7L2gCSneisqfhiDsTHtp8DMy+jCRG1cEH99/0KFg/NxKE/SogMt3hoyfeOFp93VOy2VNo4u1TF+1oT0zgBxWjnTZOKJsIlHiUQ79IYvpFG8O8BklpZBARZrfrT9BbV5SDm3J7PMJsL41CG33BK8oEZD45k+sTwrsM0UfbHRKj6PMvE12YkHIEpeyHHOcgkOBJDUNPDO6IKzB3vjav/kZo8GcGGKGOnVRsC0UTLrHgjIspM49+pgPHBuCvmW/aWXw6nM3zaBPrec69aBhmAFuXcSqyXO655FOZvcf9u7iGzTyRl3nxIS5rmyF0XW+MCFdWig5ys1dI4ulNrEXPFdqxktogMaA/kUYaQhlTL+OgWBwkWA4mTjW8nb5MLJpgwbVn7V9RjYks1VP5Apt4umSQZNJUUOt6h+WeP5Og9xC23pXQJ5k30vJugtnu3BoT7BmjNtZOIQl9AM7hsiOi9scI8NQ6yGmFFjcqNe3QYpcI8GrlnXBbJEMZtr6BD/AzSCUzerZfCRNP7dSzwNcVp9wSeF0akI5x01tsGnWed5DaKPxodsTucHUvS7pe7VczP+ygyfc4bhylZR+qGCzlYC6ywQl/WnqaMcZD90VABXssf8qEbrPOJoXPZryZd92FZl7zhVPnU3iCWVAMOfHts0/ehOHt4nmzI6i0hf+1sI/pMiyYG4EYefUyaiO2Bmkk/dYtdu55COm2+co/j/MZelKRNzc/TqBhC2De7nNkHEqrAYHSq7w4Z7olJuW+rMDbgPDbAGWVgCjSAnNMY2Xvby5BgBl5bcHWd/AphwsgbZL+4mHzh3xGDDLklDnI0Y43QlsiEMcSlQHpD7YPMAKPxs48ersorATr89fsLNGYEuEErZVgH5tCAKIPEjJugXwBcddOvADDO iXQgvlID 7WFhBo28btF29HgfmADl/l6hnO+lQEPQVsALGkEMH7Tr23jmkufDsfYLc033tQtsmfCq0rJSBu0aL2xTfPj5ESg7rKfSOue1hp6De6JwTCoXxY5RJ36meoQOsXgx2QdxkWp7VyQargv/JDiIGxktaML4mRyCadiLOYKOtFzYftzd+1f9KIc02j/F8Vz3khwZz0K/fkNMG7c9JJzfJJfoVE4PpHsnx/HWbSW9oMF6UEb186httFfdkVqW1+XA3bJcDa6dmWM4xEGXWnR17mNgEIIbOGUpeeYZyWIgJfQUYI9oEkRyFIGdNjvtJ+2WbAWU0hSMyKsWiDsI4N5jXmjyFpZTUFfqAlW8Xp9eS 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/6/21 05:29, David Hildenbrand wrote: > Let's just return 0 on success, which is less confusing. > > ... especially because we got it wrong in the migrate.h stub where we > have "return -EAGAIN; /* can't migrate now */" instead of "return 0;". > Likely this wrong return value doesn't currently matter, but it > certainly adds confusion. > > We'll add migrate_misplaced_folio_prepare() next, where we want to use > the same "return 0 on success" approach, so let's just clean this up LGTM. Reviewed-by: Baolin Wang > > Signed-off-by: David Hildenbrand > --- > mm/huge_memory.c | 5 ++--- > mm/memory.c | 2 +- > mm/migrate.c | 4 ++-- > 3 files changed, 5 insertions(+), 6 deletions(-) > > diff --git a/mm/huge_memory.c b/mm/huge_memory.c > index 0fffaa58a47a..fc27dabcd8e3 100644 > --- a/mm/huge_memory.c > +++ b/mm/huge_memory.c > @@ -1652,7 +1652,7 @@ vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf) > unsigned long haddr = vmf->address & HPAGE_PMD_MASK; > int nid = NUMA_NO_NODE; > int target_nid, last_cpupid = (-1 & LAST_CPUPID_MASK); > - bool migrated = false, writable = false; > + bool writable = false; > int flags = 0; > > vmf->ptl = pmd_lock(vma->vm_mm, vmf->pmd); > @@ -1696,8 +1696,7 @@ vm_fault_t do_huge_pmd_numa_page(struct vm_fault *vmf) > spin_unlock(vmf->ptl); > writable = false; > > - migrated = migrate_misplaced_folio(folio, vma, target_nid); > - if (migrated) { > + if (!migrate_misplaced_folio(folio, vma, target_nid)) { > flags |= TNF_MIGRATED; > nid = target_nid; > } else { > diff --git a/mm/memory.c b/mm/memory.c > index 00728ea95583..118660de5bcc 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -5354,7 +5354,7 @@ static vm_fault_t do_numa_page(struct vm_fault *vmf) > ignore_writable = true; > > /* Migrate to the requested node */ > - if (migrate_misplaced_folio(folio, vma, target_nid)) { > + if (!migrate_misplaced_folio(folio, vma, target_nid)) { > nid = target_nid; > flags |= TNF_MIGRATED; > } else { > diff --git a/mm/migrate.c b/mm/migrate.c > index 781979567f64..0307b54879a0 100644 > --- a/mm/migrate.c > +++ b/mm/migrate.c > @@ -2629,11 +2629,11 @@ int migrate_misplaced_folio(struct folio *folio, struct vm_area_struct *vma, > nr_succeeded); > } > BUG_ON(!list_empty(&migratepages)); > - return isolated; > + return isolated ? 0 : -EAGAIN; > > out: > folio_put(folio); > - return 0; > + return -EAGAIN; > } > #endif /* CONFIG_NUMA_BALANCING */ > #endif /* CONFIG_NUMA */