From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010026.outbound.protection.outlook.com [52.101.85.26]) (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 8F1752773C3 for ; Fri, 12 Jun 2026 15:01:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.26 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781276517; cv=fail; b=Aw2zEdd05jiTBHLicQVw9nb3vA7TXgE2A/TJykS1PK4fCgSPA5WfTjGL33UZmaorIpokdK6R1jv8MjYDHZVf6y5aFtSq1z+ZgwDDRqsOIS3dK/A6i187qb4xEDNidingNIO7RdMv8z4xouWThRz7s1DD0XkT8DClfmzX7Ycl/Ug= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1781276517; c=relaxed/simple; bh=bXe5mt4YDN72v7o9TA91qdsRNvtjgb2p/h6VjwIyz2E=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=RnOmBJeDSvyEOP8bisupEQ3k9+Gd45xxM8tnbOtOBOp02fzuoZLy5dFfVjWU+orDknHKVyBJG/ex4AcV8lDpv+evOzrvyTcoz/2k7Vkh3qbDsCsz8gT0E3jCZTx9it60KbfJQSlxXlX/CTsDrEeU1/Osy8cd0K0V6rtlo9GKx6Q= 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=tRHx70tn; arc=fail smtp.client-ip=52.101.85.26 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="tRHx70tn" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=A6UR/P6u5TgtaIqNdivx+ZYohirDUFaY87TThgGww8bQ76MkxOosy+Jb7eX5ATGud8+XFHWhiV0quOpAKrI8W5OFY8MXYFP9rJ3hsCCCPgD2l/vnWacvhL3C10S7dzxIN4lJA1mU6rYMbBAeDUspFO/T46ADu56sPhnCXpLxUd4F32pANAA8bHkxBXe54zBLdn0+fPOFKrHzPGRdSY8tUvqdLTaUh30YhDyGDRtdX3HHvT8Z06ivTx6tE9APRJNIXStbkG6zzaF2UupQNRE1kPZswaXn0l2TZR/EZTA4y535TcDGFOxAPS0yN/8dEXVjFeNnNQ56s8Qks3j0xVn+LQ== 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=70ErZv9D+4g1OzCtk/vx92fLssyiAKLSiAsE7lF0t4U=; b=DVpqVXFX5efPC3HQUfI9PCd4IYIw6yzzKWLudeXQxRQuSikEZfZwq4RDFUzhMmEePmvozlnx2vl/Ti/iAwvEfq+S5ZWWsTHhHLVYI7PKRY+FrkeQ0u+VJfUtGeTgLADcDvyIfbsqdqjt1CUa88UZXRDn8+JH+XVfALOHrSClEd7+jcGPEI+FtAWmxuIkvyCfsOw424YRr3DAsZmINHxbTBV6GEcrCiZas+TaAl/35cqoaOxQZdvRX0p5vrriFheW/4Bwl74X2xH/SDRnBASfoqAlZpdLFxwMJNp1vkYzMt8cC2nnPcFWpLxwo//xlssRA5zgJ+cMBMFZg3iq5feQkw== 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=70ErZv9D+4g1OzCtk/vx92fLssyiAKLSiAsE7lF0t4U=; b=tRHx70tntO820KiFEShriTp36Z4L/z0JNXZ2UNk1IJAYawtvSdNg1js2y+Gz9rb3xqJnZ1kYm/K9zMxxzPfbLbKBxpCAQvtgnuJoHGA5OPBuoiei2UMLiAsm8a5pfMR1FUlDDFhhtvau/JVE2aXASY9jzobTrRerV/j4rBqTLb1snmLdcZeCSYmYisDalh0jw8SsU0AvyeVUNAnwBEblSo+vR+HAY+UhGUWszDd1sIobuRPID0YnT+KUfebp7dF2JVPHyQWxpfdGxDmfrQ0pJn+H5xk9G8zSYEjUdJllm/dkcaC/EinSVESDYjrA3GTwWg2Je1sNcbrP9AeD49uVeA== 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 DSVPR12MB999191.namprd12.prod.outlook.com (2603:10b6:8:496::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.25.21; Fri, 12 Jun 2026 15:01:53 +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:01:53 +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:01:50 -0400 X-Mailer: MailMate (2.0r6290) Message-ID: <34223C0D-B52D-41D4-AACC-943A4BEB3472@nvidia.com> In-Reply-To: References: <20260612085052.59291-1-ptesarik@suse.com> <20260612133155.71958e80@mordecai> Content-Type: text/plain X-ClientProxiedBy: BN9PR03CA0101.namprd03.prod.outlook.com (2603:10b6:408:fd::16) 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_|DSVPR12MB999191:EE_ X-MS-Office365-Filtering-Correlation-Id: d3ddf2d5-32c7-4725-0ba2-08dec89389b8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|23010399003|366016|1800799024|56012099006|18002099003|22082099003|11063799006|4143699003; X-Microsoft-Antispam-Message-Info: uyG1fJUTacIw6Knv/Dr+9J19tmivYMEnaMCvKXfQelRkpico0knbxqEZiCGVi2syfN9/KouEbZJfPx5wqn7J5sWqKZ7Rjc87njDN44UIrqq+GP8N14M49Ln++42wk8SOznlUwo9wgPXQm/zf0zUVk2L95KU95Pn/vRV1qJ+RmpWQgTTQBTSaysIyx8cFL9WD/Ow1ERKrCEpAm8uf28MKs7cLKMpz4l1aZlq46rUX0I6m5YkNtDAMukKAxM4PUbsNx6GVOZkQOyaWZa3n3oXtFj2PEiQRFrVhL0vCJ93Rrsvj3UHfEO4MuT6rA7O1+7inIk4MrqNeNH2lLNmDRV6gxfjkjbuIbPCkNwLI/2dhloAGH/NzbF72eVn0OGVFUo58nBsClRY9uNtbjRt18QQd/YlWeQgc/eu8jdamxQZMBzlTPhMtFHRnRUf/lZu1s0a+C8IWn52TQ+NWZltLLgCdkpJ0/oJKCw/1oVSST/mQGFspJejqki9pvzxXYKu5D7vgWhctSsAN0hpaej3rUdy2frCvqT51MTnWrEmi0BhZK70ox+T+CAArqkgbt6Jp6/zqg2n79ARu9Hs8r4zswX++l54v/pAr3v9u0wc3QcJHdHmD09tHaTHj2jIUGIcAfqK0B27UzHKull5v7zHwsWYdufglrrbruUiIyY6NyJXWcRCZue+IFnD50E2AUWsoEzYO 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)(376014)(7416014)(23010399003)(366016)(1800799024)(56012099006)(18002099003)(22082099003)(11063799006)(4143699003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?F217aEvJYDyDuKj9Sj3FEhcBUqQCfLiSm5pM1+N64Dvs4o0pUpWsHAXp5O+Z?= =?us-ascii?Q?SbjbZIMZwsz7U39GlaO4e3DnyJT6K76AD5I1cjGh/2prQ0uJf6gL+tfVHYi2?= =?us-ascii?Q?E0d5KMHBs6x5DZt+K48U13AzxoZOap/qh1WQt83ZfUkssn/VlDzILKrVtrPK?= =?us-ascii?Q?uzQDuTYtDUDv8h8LEhiDnCgVRiTCn30SWN4zJQXBOVi1pxb2At4quCZ7qz52?= =?us-ascii?Q?HTFN6ScDoXKRW/WzT+y6z4EJo2gg1qBxoNZGfRe7Q/x+U6mbS1vhEMdVDfv1?= =?us-ascii?Q?fMAgeMzQtBPeviZ0Zop6dVeIqkc5SxMMOTXZnl73JPStsBGWDQuXbkeVPEcF?= =?us-ascii?Q?qe9QsiCVXBZfZg6EWz/Z1P4FzBP8qDjNL1/m7xly2C7YcNAzAeAwBH9F11dU?= =?us-ascii?Q?h9FZT8yBjPCnXKlv/mVFl2eHaJxLb6XWPLSN7xtu9beJ3afvzhASZ1SqxDbx?= =?us-ascii?Q?YBuNZaeb3M3nlv86LSNrtix8gzjBBjf06Rpl2rTE/4YJNEWW+EA7T/Pk0esy?= =?us-ascii?Q?8MpOcZWgUp2Zzc3E9nYmx91b16cWY5mjzvnGtpS8K+jJSwIN1z9tkJTFrEPi?= =?us-ascii?Q?HWY1XMlp+Bs0iLZjBSV7kWMm3oDUQukkHjvmnCB5B8xPo/mPwhcNobDwVzpu?= =?us-ascii?Q?jqIRJDDF77PLACOi4fYYl7aNcEy+bfyDKLdq4EyqGccrPt9dPhF3YiDH0LcJ?= =?us-ascii?Q?f3hq9ES0CfOLdEqAeD5zR6oQRyjf5E+zkQM7MjFo5xC6eAHGp9yq9y0631BW?= =?us-ascii?Q?YmBiHG8LOu86YBJSBjV7YwRLoV5AohZGWKBvs8kGRMFouTsy7bkZ8xtcbWN2?= =?us-ascii?Q?Mls9DVfuLKV/29PKzKsobGKll5eZMG/k1j6K0iHIfy55GiDaeESMjNw9BrA8?= =?us-ascii?Q?RoVR7CP3e8psXDVAtfkeU3WtFy92FGYjwy7YrZAnCIfQdFuLGCj44EC/9HCb?= =?us-ascii?Q?LgK6EoE5cpDo4JK2p98kKKHq6QiMhGr8Sc03lyti3YgKmAo1xFhG7ZStnNQc?= =?us-ascii?Q?37AepQg8Q58iF5nyiVRk7MJ86+va8fVh5Up6sD1zSkXpm/Z2cwgC+ezcxhi4?= =?us-ascii?Q?k9Op6ayLfBHQIZXrLGrzMEThCEhXirS1p+4kd1D2nbMzA4ITv+sqi+E/EPXc?= =?us-ascii?Q?d4ru/FQJcAfrbDDL62V7Uwj7T+sgfEcOm/ji/kIe3aj5MopJnbZJ9xfiNkpC?= =?us-ascii?Q?QBWcw73vokZKC6oFiKsXgMNWJZCdn+50Nnk/Mscl0ReZjIVssFafHjpFr9/x?= =?us-ascii?Q?wulVYYMrvENCOUuB06KHpH00J/NPlDSe/XGjiYN0cNbS3TgH6+6tJQTUaU6z?= =?us-ascii?Q?w+cKh3l/5jtPcu0zCRraI0MrymQ1ALZZECCfQxKI4gXGeGKbWEyLsDGQaNOA?= =?us-ascii?Q?6clq1ZhZ3TpTLj78V4P8H57/1TLNIZnBvFh/XPVdjvEM2IXfKzEbC3Xs2WPN?= =?us-ascii?Q?kAZjPXBt4IJsI7G6Ld06bt/XuBjYYhosR/1Aqy3U8CYhNT92ZqCIv4x4MjJ3?= =?us-ascii?Q?rzwCV0T1hYYTouq+r1NrIfaQ/v+Q40MHLnyCx47zmKqZ8s9SYaZYxfWrh5D5?= =?us-ascii?Q?dKOpgfdTljoRKG2nbZdaF3WgbI4RtMKLTd3M3p2PbWniG3eomVgoRzVjxB65?= =?us-ascii?Q?zMU2IlrLHdBY5W0chThWDxqrGL1zl4mzHfT3MQo4wIo7fYsIvKzZB4VzB85o?= =?us-ascii?Q?hzUjBqUZiZcav3tT1Qv2yVp/gKlkTjhYlzbV28YSfDbZW654?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d3ddf2d5-32c7-4725-0ba2-08dec89389b8 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:01:53.0670 (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: Ipm8dAq8VLQ+LiEZhqbtFHfuVFxfEI4jrvTs6OyNmImnOMH5MSeRXrtXyKbPxJgu X-MS-Exchange-Transport-CrossTenantHeadersStamped: DSVPR12MB999191 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(). > > If not, maybe what we want here is: > > - One patch to stop doing that. > > - Another patch to switch over to the enum. > > And then it _would_ return NODE_RECLAIM_NONE when !ret? > > Have a weird feeling I'm still being stupid here, let's see... Best Regards, Yan, Zi