From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012062.outbound.protection.outlook.com [52.101.43.62]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 86FC338E8BF for ; Fri, 12 Jun 2026 15:17:34 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.62 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781277456; cv=fail; b=XdD01kVj9t1nVbIsWcyJG31i6FScbwwQRBkr5WFjjfjNInTH3QXlXkTaKdry1YeWAtnfBMF9o9yio1xIzDEksAnHtBHgt9pR4kK6TbSwpYQGcdXpdBooZ4q+hdPD2YyWPS8A/JUnswcAmAoOXPd0bqNhANuhupV1CCw0W7w5Uyg= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781277456; c=relaxed/simple; bh=VwlRDa7a1I+9rBnZY8Dr4NYx7oph7OyFkWebZm5jA0I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=m3R6Wnz7w2IixeDPUUcHxcBGSJM4k4UiAp6fAxm6tC1ckkyX8UkEM1BEjge+V/GW/qFR3Enn7NeU3ex9dKvdutOtDG9BoK5tZ+I+jOw8pIn8giFBSU7kAcaaPQa2Qmnj3JkGyIw5IfOFl/a8bNxOiaWYfCOdaJnsJ61CDZyAuG8= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com; spf=fail smtp.mailfrom=nvidia.com; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b=F+Vf/ixa; arc=fail smtp.client-ip=52.101.43.62 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=nvidia.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=nvidia.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=Nvidia.com header.i=@Nvidia.com header.b="F+Vf/ixa" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Hcm2uWPgkM2hELVLtL/uqZhdKCAfzbUGZs3uk2qMxykILajg36Jf0zJfhrFRT1KQ03ltl9Gbu/vDVaMcjXkhRgNAzRV9hZ0JRstCOUKJ2PqJx2wLDxDbJunMGKZdY8XjnEYTBevbsrp8m83oVh73IDcDPHjFjMBXyu1s2TI2tnfa751OHyWV+t4N14WZPqP1ffz/PFxUqhzBrJigQ2zslBFp0QDkngXBXn41Ep1GeR5OkbpPZmZiTXFQ4WKH0HkKfNEDFHRvQmNRvvvxLBmJtwmGiXb17vfElITQ/ra//l5qX1JVUlFjGetC30VaY2kiUxN1+KyFKIfeY5YNrjblNQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zI/nQ2rhdc54XvQOypkF8m9l7btcCNM3h5uxMa9aPnk=; b=deItK/WoaymgEcDSOKrAl+cAKH4qiywYw3cbUrvhHwYuhawnhMwPUXrcX6x+xP8D0YVqoZJxm9Y68R62NSSaD+ybKi/Ft6T5YD/LVCJjBJPHvH9/CYeeKAfIOSrN+dysIw+vVr3u4lb5ecig/KyoCyfEjLnIkdG1IRk9Mvh1Y0XKw+B0/yhc5w5aAimkya+fXmcaT22X6GBsTCrrSFFvN/aIVZmO8SPcBj1km0yfLZhL6gyJo82dWpeOVr0CAsTzpCNfPR9/b2xp9GAZQdr5USyV9cIQVs7yvgl7fyYJLe0y2lzsnDAIqGkWpdhkArn01Fzmb4ddYbOYS18k9DX4QA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zI/nQ2rhdc54XvQOypkF8m9l7btcCNM3h5uxMa9aPnk=; b=F+Vf/ixaZMqBJtsQaJXIy2qxxTlVMef1t7HCaTfEU4TviAZSHp81bSmYAZlNo4fv+l3YjIAupNfsuCUIqgZSQRS7dTkERfVAU/T/61Yl8HTwJCbTeX2ki9mBDa4KhXUTbwajLZ5P0SZQgilaZCA+awRyv82wRektsgNvFQt1Ytn+Jk8LpSfSwFkvSE4n41RA/LKnawtABLVYfto9yN0fqUywAyX+TZUm0cARTJHVMjfVEsjMlsyMc1oVHgxwzcaVyZnuxJoKm0pmnAoerJGhkZAQxIhudfz5yCpnXuT/QnJxRJC0g53hCpxwSDI37De3qQXyEbY4/3BQ8Jz/I2deRA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by SA5PPFD911547FB.namprd12.prod.outlook.com (2603:10b6:80f:fc04::8e4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.113.13; Fri, 12 Jun 2026 15:17:30 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2%5]) with mapi id 15.21.0113.013; Fri, 12 Jun 2026 15:17:30 +0000 From: Zi Yan To: Brendan Jackman Cc: Petr Tesarik , Andrew Morton , David Hildenbrand , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , linux-mm@kvack.org, Brendan Jackman , Johannes Weiner , linux-kernel@vger.kernel.org Subject: Re: [PATCH v2 1/1] mm: reduce NODE_RECLAIM_xxx and change to enum Date: Fri, 12 Jun 2026 11:17:27 -0400 X-Mailer: MailMate (2.0r6290) Message-ID: In-Reply-To: References: <20260612085052.59291-1-ptesarik@suse.com> <20260612133155.71958e80@mordecai> <34223C0D-B52D-41D4-AACC-943A4BEB3472@nvidia.com> Content-Type: text/plain X-ClientProxiedBy: BLAPR03CA0007.namprd03.prod.outlook.com (2603:10b6:208:32b::12) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|SA5PPFD911547FB:EE_ X-MS-Office365-Filtering-Correlation-Id: 4d58c1a2-46ae-48f1-30d1-08dec895b85d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|366016|376014|1800799024|23010399003|4143699003|11063799006|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: gIoSYA+zGisHY1xa3M3tepC6bKenV5ugp+E3+hiuHE2jJqXT0tXXn55FBbIwEfSDcxiXRBLaqkl/TUPEgBZwVgeDCifW+QCRI/Qrihl+mDpok35EsJYQk433ABsTsaUvAza3/9o+VM8U7pz6Xbi02IDqBoLam4cxAxv1vi/+dQz+cHKgh0RJ25HH3haWPyMGvGFgGk+u50IJCbEsegceCltJdLUmjLXHXbXWfRyoDG17w09ZacuUSk3kXYtUwWTFt2bB3yeXoF4DLhhzOGml1CKODvGSHj4T2V37L9Uf02oI1d5miHsIEPMLiEGLZwOPR2/AcCcY0TmTztLDMv3vsJMbpll3Viu4RXbB7InW9Yi7m6JIfdoEpxB8TTXB4uIEWUCEX3QX5vJSaWdTxPjPobaOdYYj2D5/YgcVx/HlGyiYq2snrV2K9GszqOI5k/CL84PbcAoHRuGIJmJwqqY4vIuKB04Eg5KWlSOw5YfGjjLtrMYzYNhTPeNUgveorZTg3kiQQ3RuWpkPNmybF1mkbtWsvNLqVyxf3SpDQE32Z5m8kC/POoPSFNrh/Z0a4lvATCzToDHh07GoxFBq97W9HgFBEw9NBEe2aCM7njAQsowmptZFsMCwvEydNKqFVWEuaVCyaWnpKffVa98gjfLnOSqHpX/TBjRaXA4lWkCYnREIWG/Es2AshPlrVwEQEXaY X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS7PR12MB9473.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(366016)(376014)(1800799024)(23010399003)(4143699003)(11063799006)(56012099006)(22082099003)(18002099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?N+VNHVI8sQz1yCww81fpPEYKthodqDrviOHK4qASneaO1DqZKWUfG4kq7pLz?= =?us-ascii?Q?Zv9ZfBK244q7QoKj0z8DIK3lr4B7yoVaWvFCDNc6e/TTvZXdRqyByj124knR?= =?us-ascii?Q?uSJz+ZIXP+0cqFwTUuukDut61yCTzNV/3F4XPLc1JwMH4/YxSiUK3Yz8YIwy?= =?us-ascii?Q?9rW4iXJxAchDTv7aQI78MZUjJNlb+CVH5MO42kH6l3UaH/D417NwmzNETjXI?= =?us-ascii?Q?Ez6qLRxYCwShfMzI1ZO6B/NYtsWoLsZfxYMatK31pKoHNBZ4vXm+39RMDjXH?= =?us-ascii?Q?EPuyufWfIb3W0pD/9MkeT82HJAS6dJMtJREpnvXh8apOfnlEfjM8AgMLEQo/?= =?us-ascii?Q?GOWfTxTRMXWhnFEyGBfK/yRGIHDy1QTXIO8EliDXSOQ/ZbmFgRHc0neJSopw?= =?us-ascii?Q?oxEQgSxeF3UuYGDipmoQfXE3poEiHCHp5MsJEZCEDWnO10K4PY3PxXmtki+w?= =?us-ascii?Q?CYL5lck1zctGEJNgs/8rbqqIcFO+lyAUV8jXXXfQyWzXdOlmh8MyssHbaKuj?= =?us-ascii?Q?36yP6ULwhCmCqHISI4C1wqKi7WB0hOY88K2tO+GUu7+OnErdtGtDrSn3j9j5?= =?us-ascii?Q?MaN3E6fbGFxZ+gvrd7q0Yn3kGWuOS+5LVGwOJSLhiQ9fCF+BsWvoPV7nQNIK?= =?us-ascii?Q?o+Ib68khsrT56yQK6kJKcgi1m49r4M+lAi3p/HL0Jn8QsS3E6KNynV874vz7?= =?us-ascii?Q?RQytYfvT4aoDX8Bl3pGs6tCNUW8U3U27ewUePXBLBUby1/WqdCUFA05QBO//?= =?us-ascii?Q?F8RnV9qF2sqWNmc7RBq/S4HXKt/tm1rNK6UczkHOhV1ikSJ33vjRIt8+Gcqp?= =?us-ascii?Q?xZTdtApdww+lR1YfCDaNDr/soI70SARpxREhV4vltu8+AS1cqDZWq7aSJLgs?= =?us-ascii?Q?NwUPLDQ7h85Np6lae96gJ2gXmmmaEXHu3L/OXH51PFnN36Z3D4PKrfarfX6h?= =?us-ascii?Q?sDhVyAhwmT4K9SrPzldo+00W4vz9KMwJsgO28K6tW8ZaYY/UnrOovY9Yv/Wa?= =?us-ascii?Q?L5Rb/3PougM3Io/cuAzaUYnd4sNILYEO6Dmd2xTLItxjMSs7UVd92zn0EFD4?= =?us-ascii?Q?tF1aoQ2VB2gYgnjgX3JqOd16ybsBuQYcQBGC4+R8wzpl6U0aFak3xWhmTqHR?= =?us-ascii?Q?nmtAdULwp3nA99DCpoyHZS/cxqB9xNR9XnC+IsPjb6ihAJKoCKwlgPNl671I?= =?us-ascii?Q?7mQFSWkIaAz3FHPoMJ1jufIGO5MweCl3UElovH7ddlq1KU6q+yAIkUw4SgZD?= =?us-ascii?Q?kq+cAjYbZI0j4iuIxLbhqiLyLMWQA/kM44ivk5fOrqPmq4NVg3odFllk/M/A?= =?us-ascii?Q?cA845MdmAMMcQ01mPdfRKTiSsFPlXgh0IWV7sPtBMWcbGdVdun5cdy4/Mqxc?= =?us-ascii?Q?2a3zwxbeNWbg4r0/2VIjXeFd+ixH9X9EK0qGc2HdWXbuZE0Wdjbw1+u1XQAW?= =?us-ascii?Q?F1B6QWTqwu4MkoW/ybZTDYrMMa68usZUycmiRqVY/SBtsRSKAUuhhnyOFBZt?= =?us-ascii?Q?/EpFf0BA0WGmOwyxsBw0qrj/GcKM5pNG0wXsWIKx/JDaidvRv2DPA4lQM/tA?= =?us-ascii?Q?MkD8y8pEmweKUEi3IcVfWmVCE8OmZ7OJUFmmUVwZP5qGBtGo2VVPuwyr3wjB?= =?us-ascii?Q?a//OH0DXSakldeS0Pka+dabObERRh4mVU8g907C/pjLg1zYP7nsgQ0ySHlBc?= =?us-ascii?Q?fCADfXE0/SbpZMIWJCVp8xynb8c+FjKeRsVd29qFBGqcz2E1?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4d58c1a2-46ae-48f1-30d1-08dec895b85d X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Jun 2026 15:17:30.3059 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0picBKvDsZfd1cNSD5MODJHikAKjGGbIVHghMP1kzai7A5ADTgBCQ+n3mwPnxTJH X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA5PPFD911547FB On 12 Jun 2026, at 11:10, Brendan Jackman wrote: > On Fri Jun 12, 2026 at 3:01 PM UTC, Zi Yan wrote: >> On 12 Jun 2026, at 10:28, Brendan Jackman wrote: >> >>> On Fri Jun 12, 2026 at 11:31 AM UTC, Petr Tesarik wrote: >>>>>> >>>>>> - NODE_RECLAIM_NOSCAN -> NODE_RECLAIM_NONE >>>>>> - NODE_RECLAIM_FULL -> NODE_RECLAIM_NONE >>>>>> - NODE_RECLAIM_SOME -> NODE_RECLAIM_SUCCESS >>>>>> - NODE_RECLAIM_SUCCESS -> NODE_RECLAIM_SUCCESS >>> >>>>>> --- a/mm/internal.h >>>>>> +++ b/mm/internal.h >>>>>> @@ -1373,23 +1373,24 @@ static inline void mminit_verify_zonelist(void) >>>>>> } >>>>>> #endif /* CONFIG_DEBUG_MEMORY_INIT */ >>>>>> >>>>>> -#define NODE_RECLAIM_NOSCAN -2 >>>>>> -#define NODE_RECLAIM_FULL -1 >>>>>> -#define NODE_RECLAIM_SOME 0 >>>>>> -#define NODE_RECLAIM_SUCCESS 1 >>>>>> +enum node_reclaim { >>>>>> + NODE_RECLAIM_NONE, >>>>>> + NODE_RECLAIM_SUCCESS, >>>>>> +}; >>> >>>>>> - ret = __node_reclaim(pgdat, gfp_mask, nr_pages, &sc) >= nr_pages; >>>>>> + nr_reclaimed = __node_reclaim(pgdat, gfp_mask, nr_pages, &sc); >>>>>> clear_bit_unlock(PGDAT_RECLAIM_LOCKED, &pgdat->flags); >>>>>> >>>>>> - if (ret) >>>>>> + if (nr_reclaimed >= nr_pages) >>>>>> count_vm_event(PGSCAN_ZONE_RECLAIM_SUCCESS); >>>>>> else >>>>>> count_vm_event(PGSCAN_ZONE_RECLAIM_FAILED); >>>>>> >>>>>> - return ret; >>>>>> + return NODE_RECLAIM_SUCCESS; >>>>> >>>>> Should that be returning NODE_RECLAIM_NONE when !ret? >>>> >>>> No. That's the thing. Before my patch, the return value here was either >>>> NODE_RECLAIM_SUCCESS (when at least nr_pages were reclaimed), or >>>> NODE_RECLAIM_SOME (if less than nr_pages were reclaimed), but the caller >>>> makes no distinction, handling both cases in the default label of a >>>> switch statement. >>> >>> Agh! Sorry. It's good that you are cleaning this up :D >>> >>> So in that case my question is: is it intended that we call >>> zone_watermark_ok() in the case that we reclaimed 0 pages? >> >> It seems to me that zone_watermark_ok() here is trying to >> confirm the number of reclaimed pages is enough for the >> allocation, although the return value of __node_reclaim() >> might be able to tell the same thing like you suggested. >> But nr_reclaimed >= nr_pages might not be equivalent >> to zone_watermark_ok(). > > Yeah but in the more specific case of nr_reclaimed == 0, would it make > sense to assume !zone_watermark_ok()? It doesn't seem that important in > terms of behaviour but I think it would be a clarity win. I agree. If nr_reclaimed == 0, unless some magic happens in parallel, it is a waste to call zone_watermark_ok(). Now what you said is clear and makes sense to me. Best Regards, Yan, Zi