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 CE077C36005 for ; Wed, 26 Mar 2025 03:29:07 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 111E8280054; Tue, 25 Mar 2025 23:29:06 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0C1C5280051; Tue, 25 Mar 2025 23:29:06 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ECC5A280054; Tue, 25 Mar 2025 23:29:05 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0016.hostedemail.com [216.40.44.16]) by kanga.kvack.org (Postfix) with ESMTP id CEB42280051 for ; Tue, 25 Mar 2025 23:29:05 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id 5CFEDB681C for ; Wed, 26 Mar 2025 03:29:06 +0000 (UTC) X-FDA: 83262271092.07.BC43616 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf06.hostedemail.com (Postfix) with ESMTP id 96CC318000C for ; Wed, 26 Mar 2025 03:29:04 +0000 (UTC) Authentication-Results: imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=RukF6RIe; spf=none (imf06.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1742959744; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=pAbqfn9917SZykz6nJZN7p39auexhGko5H7nikU1ntw=; b=rKY2gSqv1kyRiZ0OjtV3DfHgqn6jzFor8/dkB0khiurygvuq+M6Tqv6Q5LhyNRICpYFa2N xYRS8Uldcl6DSGuOJfchMpkK3U7vULk8Z006CFuHq15eKUIuv12dZjY7Biu6J76wgBlC3S bLhYbvVodz0Yvhm14DM4Tf8Q4R2urCI= ARC-Authentication-Results: i=1; imf06.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=RukF6RIe; spf=none (imf06.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org; dmarc=none ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1742959744; a=rsa-sha256; cv=none; b=ctCkzfh0IOiqcKkfPnK+jtZ6Kvz+U16Z3E+p6lOmmgnPIWZj3VkwT1XZQw+PE7VE+MD5Co XKlRLWUbEtYY8M7aeHTNR6JPQqaNiHKSDVOVzrHB2z3pYxzRRBdbbk5YDOh4aoakXkyW2n nGYdc0K03F0pfRyynO6hVUNzCP0lsGY= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=pAbqfn9917SZykz6nJZN7p39auexhGko5H7nikU1ntw=; b=RukF6RIeS9qyGquKccw9sIjIOD IlAmgWqKEFoaEFw3QeFEB0GecGMAWuemzdTV+IMGvoDh9N55iQAeRpyFJiqUMdz4qN9R82oRxIZbK AzTL+Zrn7BIs569yEEXoD6rEJj7RXmSpZxXoUKmzE21jWqzMQ6IrlcjLv3706JjQ1cLAmoh3a0pMG AX5+vPxS2+4lW4kRLn/j9mW0QKIYZP4mziLGaXPr1owVDhe/poGm73bqPsJtTNoHr1Njmg3NfIVbu 2Mp07+GecVd8LJT/SowUYliVnaLOJNOppD8mWu4o8/Q028IKlmG006sfViqOPxKbWHvZq0bvBAZ9w MLdtwUiQ==; Received: from willy by casper.infradead.org with local (Exim 4.98.1 #2 (Red Hat Linux)) id 1txHRq-0000000H0vW-25qv; Wed, 26 Mar 2025 03:28:58 +0000 Date: Wed, 26 Mar 2025 03:28:58 +0000 From: Matthew Wilcox To: wangchuanguo Cc: akpm@linux-foundation.org, mhiramat@kernel.org, linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm: migrate: restore the nmask after successfully allocating on the target node Message-ID: References: <20250326031218.487450-1-wangchuanguo@inspur.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20250326031218.487450-1-wangchuanguo@inspur.com> X-Rspamd-Queue-Id: 96CC318000C X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: 8or14mecr4fiw7631ck5ow6tz8q71e7n X-HE-Tag: 1742959744-271397 X-HE-Meta: U2FsdGVkX1/DW+JH/wp3RdTiF64DIcw3VasXfbgUYPM+BpQDlhjNDeH8ENd81XqsOSUfRJUDK9qBssDn9mWxDRUkiULyng7KiNmna/ADWWxUBuCiBHvnXd2JQMUxrMq8CTo9zcKf6ookdskJe7cZ0p6zoEiSwHMXmNHHArXqKTQRTpXs04gzyAZix+IH776DFIlUAB8NGG4dA8gRNJj6XZjYUm8PFeh956j1i1eqUR6UdY238KO7ZBau0ycPew5+ESCGDQkSsaxKtr+HD7euliChyTSUWh/04j+NfwHYPOqMhIzc+hiKcvCwQFR0UZpHqUXFsEIKnT/g418AnDUIuJIhTK6pRinwsU5+I+Q1N/NnlNsjzZPEB/XRI2aAJg2ZedJjffpJ6jyNbpQ3v8ItpfEAyuqtSzNqz4eML0I40B4VgVdVEV+g/v8H6FhUE5fVyl/E5JyC3iMyWL/jI4FiqsS2C31w0ZvN4MyHEegM6owfCYSgKI+tmhRz+d7Ko4i8BZ8FQ+fTtb8WFaMqc7E+hDo5y3t+bmuapOzCO7RYk695oIfKG2IvfnyktW1u52kw1ARYkypBtAc93ZQdlNlCN+SZitUn6FLU/6Ni9SYZZVVWBgxoaluzMNRK7jMvjxJXEpdMOITET6aF4KjDdlc/mr2AxIM/r32X47SHqT6+sNQH32b6Cv1br/I9dkhw/+T2jMpLBI4iAPgKTnGJdRXx8Yb76/xWrd5pSvRrUWEgKZvuz0rKIiT4Rkw9wPaMsEeGiZw+b30Y0/TBebhw3Dcww91jYk6JE8Dnlb/k96ZpX1UCRmfUDATXa34OGtw61vBI2oGOsjH9bpLO8jDUvO065N2fL4LfeN/5NJnqhQqYGUZSvwGF62983kqu+37ohGXlWezgR1Fm9Q9YAUMDGxf1ma8uUgLfpBhJ+mgB77MZuM3inOQXGt4pwd/uD4q7rPEgdpD63ta4Tc0zZTjHppz Ze5lSXiD ChXcYnRKB7f1TlJx6BNAWtLAhJG5y0ezj/FlBj3CCTDIoJWJkDzXXDcaNCzNyg8JBU3KNmg9e8V55x+nhMPu1mC1FGsmQBXJpQq2vVFIGbNcn24qb1Zr0VZc8NS14pGYSoHQ1GCkjydUGyT3vZWLgxiPpWfICVIXsJVZK12ziSsgo8znfK47+SzG3rIGYZrMkXjXvFqDweAyvtw3OsBhSfbnGhZO9Bnogo9FU X-Bogosity: Ham, tests=bogofilter, spamicity=0.000006, 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 Wed, Mar 26, 2025 at 11:12:18AM +0800, wangchuanguo wrote: > If memory is successfully allocated on the target node and the > function directly returns without value restore for nmask, > non-first migration operations in migrate_pages() by again label > may ignore the nmask settings, thereby allowing new memory > allocations for migration on any node. I have no opinion on whether this is the right thing to do or not, but if it is: > +++ b/mm/vmscan.c > @@ -1026,8 +1026,10 @@ struct folio *alloc_migrate_folio(struct folio *src, unsigned long private) > mtc->nmask = NULL; > mtc->gfp_mask |= __GFP_THISNODE; > dst = alloc_migration_target(src, (unsigned long)mtc); > - if (dst) > + if (dst) { > + mtc->nmask = allowed_mask; > return dst; > + } > > mtc->gfp_mask &= ~__GFP_THISNODE; > mtc->nmask = allowed_mask; this should be: dst = alloc_migration_target(src, (unsigned long)mtc); + mtc->nmask = allowed_mask; if (dst) return dst; mtc->gfp_mask &= ~__GFP_THISNODE; - mtc->nmask = allowed_mask;