From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from CH5PR02CU005.outbound.protection.outlook.com (mail-northcentralusazon11012047.outbound.protection.outlook.com [40.107.200.47]) (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 3BFAF3BA246 for ; Fri, 26 Jun 2026 18:45:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.200.47 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782499522; cv=fail; b=RPBu17A40ct7qnD+CX+Kt88WDPlAZ4arET9v6AkRxLS7AyPlBYLoNsC3tq0yct2/UAosjuzdKvdtm4vHM/tXMwnmVvGoxVOlEzttRG97FqPj6hl9KR6OrC6aNPLxEIa20tdG/zgaDQryqlqfYLY8Q+p0fJKnPKzsT/xg1S8A0Ms= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782499522; c=relaxed/simple; bh=lUuutE5yBjcY80scAApLYty1T8gzVr232JxvDEjH3j4=; h=Content-Type:Date:Message-Id:Cc:To:From:Subject:References: In-Reply-To:MIME-Version; b=duzbDZfnb5quIPsxJi/kol6CXppE/525OczQaRFImxY9FT89IRyrUQHOQAgruBC3ueYJLMcIbUvAt1xp8NrVcATu4z0fe6Xe0iJ3Xy0MtFw2I+D9PHFY2UM1moOiiFzcDEBscWGtb9WlbPRjgD6pV8E7m7sSTNEd0ZOc0PZV9AY= 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=gNOWoiyt; arc=fail smtp.client-ip=40.107.200.47 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="gNOWoiyt" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=DPb0x96p7xQfntXNng9hLkyAfYkEG0KK8fEyd+Aup1TxvI6hHd5/fdpoK1g5Mcd+6s1MRHKq2VoWKQPaqP0EeTbnTPPJCvbtgO8doO3NzjYpOeBUOo5P227UHr73h9RlWntuDbBFtiSFAp2d4gdbZoa2yMel4YBDhxbh/BUouP8LsuSAcXOzflZSck0T7gm6vt6UZGYP25hMsiF2SI9CF7bNQ2FdIMsb6kECGGqH3wwllk/acDD+0GAlAiKEeaV9h/iNUasBs5/zeko9itG+eUZgxlpEcpgG44xuxr0OnB3ZkN0niS9yLvfE8O869QlgEJeDt+kB0sIIMFLQvLsj5A== 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=aEM5h3eKJTYQXZ2PCFGrBwgVloRLVCcvKbRXYbtUUuk=; b=amSP3g5Ty/qL5zz424jyFJyW9WI+lQoPb40mzpENcz8P34/8OfZsMBnXjc5ippnHkKq4JMiErQRgyY1GcI8FjVyh0oATukDpTe/szTDDKYUC6v7JChNFAzZk5ERu2HPwtvxlwBnipV6Ka2VHq3hAvP1sCZgP6kfTQgk5tRxjvDqVLhvZqApILg664rRTR7w2YLjZp0cQ2StKdF2pz6K/tgutDFGM9g/iViWcZNn7cBzWs1Xxrg62mjo/Uc0r6xaP/Egf6jWc5s9TvQr9b+itlkH3cx6r0yzFunxAdGGw9oVwCxrlZpewLviRwv27FQ4+4P5265u8qxAveVBiCv+vug== 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=aEM5h3eKJTYQXZ2PCFGrBwgVloRLVCcvKbRXYbtUUuk=; b=gNOWoiytPd0c/AQpi5zl/9Re13/YlUC+9RQh7m4X8AVhh9RQ8g0mQabbEOOhZpvF/G+d3MyDeoKW/Y1Jq6x0wfiydHvGzodzfVPHI4DQZkDeXTZPEemLrfjTqOQsRU5FPvtopPnvMXTWdeIHZJylRsUeDMeKD290zktByDX31S8FhS9Tpi3sGP/JoJ1TPGOC2OGsEjI6munGZCddSFkN7oJk/QuBi8tCe8HFaW07FvQDNVn3IeSIi/VX3js0pDYkd0P4eSW1MqquAhvx5ma4c4koDG4IYeGG1C+GuyhkjIVSaL3HKBJ/bP6FIzKgDZtDyJ5kkUlSu7wyA5zjXboGHQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) by SAWPR12MB999166.namprd12.prod.outlook.com (2603:10b6:806:4e1::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.18; Fri, 26 Jun 2026 18:45:17 +0000 Received: from IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16]) by IA0PR12MB8374.namprd12.prod.outlook.com ([fe80::d85f:4c87:ae84:3f16%5]) with mapi id 15.21.0159.016; Fri, 26 Jun 2026 18:45:17 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Fri, 26 Jun 2026 14:45:15 -0400 Message-Id: Cc: "Suren Baghdasaryan" , "Michal Hocko" , "Brendan Jackman" , "Johannes Weiner" , , To: "Ye Liu" , "Andrew Morton" , "Vlastimil Babka" From: "Zi Yan" Subject: Re: [PATCH v2 2/6] mm/page_owner: use MIGRATE_REASON_NONE instead of -1 for last_migrate_reason X-Mailer: aerc 0.21.0 References: <20260626024550.25677-1-ye.liu@linux.dev> <20260626024550.25677-3-ye.liu@linux.dev> In-Reply-To: <20260626024550.25677-3-ye.liu@linux.dev> X-ClientProxiedBy: CH2PR03CA0019.namprd03.prod.outlook.com (2603:10b6:610:59::29) To IA0PR12MB8374.namprd12.prod.outlook.com (2603:10b6:208:40e::7) 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: IA0PR12MB8374:EE_|SAWPR12MB999166:EE_ X-MS-Office365-Filtering-Correlation-Id: 0d93964d-b4cb-477e-0f99-08ded3b310ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|376014|23010399003|366016|6133799003|18002099003|22082099003|56012099006|4143699003|11063799006; X-Microsoft-Antispam-Message-Info: KXrzsC5dupKY/4wGH0eaq+YSw28bFEyIskY0KwZh/EcODBcwhy93QQWXmu0jt/ITtshfWZC8OWVwGXXi62bsSRUK2cHZD9hBAv35Z1Zs0m/JBBecywICmHDAAJtp6nsgZ6t5ZvbjezlL2lfbhWiz4I0+zyj6QSEeTbU4C+nTYo3Hr4vj/X3rA3PdS6ZHDq+RriaoAkaZDFYflxk2rIisXC/idT28iq1sYd6iD9Hy147Se5cqrcxowKFduS1TyCOvZh6th2B7Uwa4nxdyQaGF0ETQZ2f/ZrmhSjP93dUeW2M8kV9LNuyHjM0qWp9s65uPrblRjj4VUc2CViXMGb6FyNISmudULPmpTv8d2/7D0lNg8vtMQtF99XTiM9Ud+xo2Kx9eUdc6GAt/OMKkaFsfYx47NqC5/Axe3hWJ3O3+s2zph7Pc2ajr5BcJBUQeZtE79uRwUu0aAS6JFuznAXVxfIfuPZdSCFfQ2TmB+bnn6aReaYz2t8KAszZUfKo2o0eVvKD08r60FG9WmY3Y8CVW4W9e1My9k7q1owoOo80ys5pRkBiU34uzicYMcz9xppmNcHJs7WDRBsWnX70+8GMUrUx/QBsdpILUEdkIba0iZeoWgaqr/c2EDT8WkdaSMcOCd62T5gVZmbaz9svgfxlgaD5kaK7csDO6eNNmPX+P03M= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:IA0PR12MB8374.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(376014)(23010399003)(366016)(6133799003)(18002099003)(22082099003)(56012099006)(4143699003)(11063799006);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?UXVwQUV3bjZxaVc5RCtzUEdQaDRHOWdmd2syWG5WZXFmQnQ2ZktEMXNSNGtp?= =?utf-8?B?bjNDRFEzZ09wWTVCeG9CTG5RT3pUN2NRS1I1LzNYd1JmNkhHVkZ2WUpDWFF1?= =?utf-8?B?N05kMGRONTJNWG1QMXBrU0RWYW9HUmVZYWRQK0xESkVRYWc2U2ZqVE95MXdX?= =?utf-8?B?T2RyWkc4NThMSGlwMVEyY2RRSmlMTVpBekRERGs1MVZ1bTArWVN1a20vQkwv?= =?utf-8?B?T09aRnd6V3YxVEZObG9oQlVVNUNqWjY0T0RML0FKWUdVa3Q1RzBkZDFSaWlP?= =?utf-8?B?T1ZxcWI5TU5mUG1DbzlYclVkb1VBZXd4R0FDUXIyWFVvOGNNQnptOWdNelQ0?= =?utf-8?B?Y2xqWXYxRHlkY0ZhY25SYW84WmlhbmNhaTBxUDJwN0YvYWU3K1ZCamUvSUg0?= =?utf-8?B?M2wvcHN1TUVRQzhDaktEY2o0OFhSdU5KU3VXSmRjc2Z4L3d4akxwWUNUTEpY?= =?utf-8?B?b3c1eGQ0Vmg1R1V2V0xycmZtZTJ6Y0FRZjBSSUdENS9rRjFINWVXTUdPa0Iv?= =?utf-8?B?V3JVQWZVTHZNcURIS2pYQ09DQTNZMUwvTjVnRThFODU3aHpUQUI2T3ZTS2xN?= =?utf-8?B?WVhWeUJ4Y0kwbytjeGxZQnFjL29JeEVWZlBST25QNEIwVGk4bzRXVE42b2cx?= =?utf-8?B?bVFMZy9PUktqM3VyamtMRGRMRnpMclNUT1Rpamw5UzhxcXRjNG0yNW9MSFNl?= =?utf-8?B?WWs5cHp1bjVPcDZMQm0veDFRWWpGL1dGcmRlRm9BYXUxTERDRTJUdlpKS3Bx?= =?utf-8?B?Ti9JUGwvOHRvbXE1a2pRQnF2aERwdFFhYVZ4R0tjTEpTQk1abEU5ckI2WFBD?= =?utf-8?B?Nit6T3F4N2Vndk5tVlViUXRoZTkyN1NPbkxFcXVMNXlXNi9KeEQyZDVzQUhF?= =?utf-8?B?YklmMkp6Q05sZGNMMmdtd0hNV2xXaHB1aTFNZlpVQTFiMXpwWmdKQTVtZHVJ?= =?utf-8?B?Tlh3b0t5QXV1RnFEc3dJYy9NVVVqUTBRaWhQY0tzRlRYZmp5bUVJSFRqMmVP?= =?utf-8?B?ODJUdVpXRXJDMTVmblN0czA0K08zMFJJUWRIMWsydlY3NGpHVkJKWVFzdlpS?= =?utf-8?B?Z3Jpc1JLRUE5aTZINmx4eVBDWHh5eEZkbGNVNGl4S1ZGeVJweTlWRlVVVS9N?= =?utf-8?B?U1IxdDZCS203dCtueVF0Nng3UC9CeVc1OTZEdUFwVGR6d3FvbHRRelp0U1Fr?= =?utf-8?B?ZkdiMlFQbGlRMlc2U1FRUzBNeVdwV0orVjM3b1NRMDFtYW5MSWk0bzBTWGFW?= =?utf-8?B?TWlKOS85MGQyT3V5Z1ArMEpoSDcxSmNqMm80UFMvSldRN09NL3psRFJkZ09x?= =?utf-8?B?UWI2b0JTL0ZKbk1SZjhwOXowbWdVelpjVWFXL05iTDJPYTBDSnptajFFSXdv?= =?utf-8?B?TDZPV1hrRS9NWWM3bVRkYmppMHZzTDBrb0daMVBuUUJacHg1ZWJiRmNQeHRI?= =?utf-8?B?bTJsQXN1d0lOMCs0QmVZM0M2UlpzbTVYdXFDV0xGMGpqTmw0d0NWQkpCZ1cw?= =?utf-8?B?S1pCTS8zM2FLTU5DK1BZS0VrYjRxWnVBd3dTWmkzYVpaQ2libE9aOXFDR3Uw?= =?utf-8?B?WGxmc0xYN0h6R1liRVU4TVVLRDAwbE8wczZ2Q2l0WHJNaExSVFp2M2tlUzIw?= =?utf-8?B?SjJ1ZHlqYW45aHlNcFAvcU1yd3ZzZkpPenlDemNUTFNDZGwzMU5RdFhFVG4y?= =?utf-8?B?YjFHakdSMkVLbTF2dHlVRzFEZGF6NlRNMTBrZ3BoVTREQTg5WGw1bXlTNGxH?= =?utf-8?B?NGN1amMrdDdRNWc2dVAxSGlkVXVOYk9NNnJIempEaGlBM1BqakFLaEpsRUdm?= =?utf-8?B?QzU4Z1NTTUJLZTJGaUhhQTBDTnV1blVWSnpkYzFtOENLQ0ZNblRkZk5nYUk1?= =?utf-8?B?ckRqUDAwWnZqWFloWXlCdFZqSkRBakl1SmJPRzluK25HT0pWblZaZUE3NGFY?= =?utf-8?B?WGlQQVQ0WFZSaEZ6VTVWSlpiWHpVL1ZMK0JQNDlyS09TNHQzWjhadVFrT2ZN?= =?utf-8?B?bzREcUFSNGx3SUdXTzd6MWdydTAyM1lvNFd6elIxOXhsUXAzRjBQaFhORmNL?= =?utf-8?B?TTB5UVZnTlF5aUNGWWwveHdtaVJMWlV6M0V0MzIzckNwK2J1YWtqdXNHdE5G?= =?utf-8?B?WVZjOVUycHIxNFQ2VkpNNEVSUUdSWWt5WVZVSmY5VXVrWDBodXVwcEJQU0J4?= =?utf-8?B?Y0JGVUJQM2Jjck5yaS9tL012cXVxR0szc3FwN0p0a1lrbHFTaHR4Szh6SXNC?= =?utf-8?B?TmlMQVQvWXlZZGNQZy9iVFRJczdBRSs4VTBuRFRKOE0yRytFTlJtSlZYa29E?= =?utf-8?Q?Br2XtQbBmQhmNznsfO?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0d93964d-b4cb-477e-0f99-08ded3b310ee X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 26 Jun 2026 18:45:17.1043 (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: zJsMfSM6m/VdyjFGJPesxlFM4gWQ6ZMVJtdTMKnQvwhlIXsSz1OvnfonPJUBUES3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: SAWPR12MB999166 On Thu Jun 25, 2026 at 10:45 PM EDT, Ye Liu wrote: > The last_migrate_reason field uses -1 as a sentinel value to mean "no > migration has happened". Replace the four bare -1 occurrences with a > local MIGRATE_REASON_NONE define so the intent is explicit and the > magic number is eliminated. > > No functional change. > > Signed-off-by: Ye Liu > --- > mm/page_owner.c | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/mm/page_owner.c b/mm/page_owner.c > index 342549891a8d..ebafa9d7ff07 100644 > --- a/mm/page_owner.c > +++ b/mm/page_owner.c > @@ -21,6 +21,13 @@ > */ > #define PAGE_OWNER_STACK_DEPTH (16) > =20 > +/* > + * Used to indicate that a page has never been migrated, as the valid > + * migrate_reason values are non-negative enum members (MR_* in > + * include/linux/migrate_mode.h). Why not change last_migrate_reason to enum migrate_reason and functions pass migrate reasons? MR_TYPES probably can be used to indicate no migration has happened if we do not want to add MR_NO_MIGRATION. folio_set_owner_migrate_reason(), __folio_set_owner_migrate_reason(), move_hugetlb_state(), and __update_page_owner_handle() need to update their signatures for this. > + */ > +#define MIGRATE_REASON_NONE (-1) > + > struct page_owner { > unsigned short order; > short last_migrate_reason; > @@ -339,7 +346,7 @@ noinline void __set_page_owner(struct page *page, uns= igned short order, > depot_stack_handle_t handle; > =20 > handle =3D save_stack(gfp_mask); > - __update_page_owner_handle(page, handle, order, gfp_mask, -1, > + __update_page_owner_handle(page, handle, order, gfp_mask, MIGRATE_REASO= N_NONE, > ts_nsec, current->pid, current->tgid, > current->comm); > inc_stack_record_count(handle, gfp_mask, 1 << order); > @@ -596,7 +603,7 @@ print_page_owner(char __user *buf, size_t count, unsi= gned long pfn, > if (ret >=3D count) > goto err; > =20 > - if (page_owner->last_migrate_reason !=3D -1) { > + if (page_owner->last_migrate_reason !=3D MIGRATE_REASON_NONE) { > ret +=3D scnprintf(kbuf + ret, count - ret, > "Page has been migrated, last migrate reason: %s\n", > migrate_reason_names[page_owner->last_migrate_reason]); > @@ -667,7 +674,7 @@ void __dump_page_owner(const struct page *page) > stack_depot_print(handle); > } > =20 > - if (page_owner->last_migrate_reason !=3D -1) > + if (page_owner->last_migrate_reason !=3D MIGRATE_REASON_NONE) > pr_alert("page has been migrated, last migrate reason: %s\n", > migrate_reason_names[page_owner->last_migrate_reason]); > page_ext_put(page_ext); > @@ -826,7 +833,7 @@ static void init_pages_in_zone(struct zone *zone) > =20 > /* Found early allocated page */ > __update_page_owner_handle(page, early_handle, 0, 0, > - -1, local_clock(), current->pid, > + MIGRATE_REASON_NONE, local_clock(), current->pid, > current->tgid, current->comm); > count++; > ext_put_continue: --=20 Best Regards, Yan, Zi