From nobody Fri Apr 3 10:17:43 2026 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011016.outbound.protection.outlook.com [52.101.52.16]) (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 2E3E23EF644 for ; Tue, 24 Mar 2026 11:48:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.52.16 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352896; cv=fail; b=elJQMptdO5VKWmm6Wqo9XDzqWX4AwZuNnBv4nGnKCwd5wM5b8TuqSa+2R4vmIC6hpGHPkGdoVcLpNz61dDa4UA0VSn7nLUNPpK90x7rQ93GPU9RkHiydsJ0V+Wr1t+g3qz4GA0HTfSn4wPH7YqYfSVNeirOy+VfKhQmcWEjSnPg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774352896; c=relaxed/simple; bh=mf9Xn5+eU6Hdug7zdMRyWTn6oQS/4XgykFAhs73tVm8=; h=From:To:CC:Subject:Date:Message-ID:MIME-Version:Content-Type; b=LzMlNE2MDyBHbTaN2pxciliwN6XoQolKu7OAbcjx3bYS2TbZB2mpP65Jg4rWcLV/O5a9R8r8H+oYMQNzv+fjIY4wbR+sg4Ylb7eGrTODH9HVghEfymht7fHApqeWH7UgzHVZG5+ICW1YLWhhMhM5OgzMLNeQAchV7e3NMFuJRz0= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=ZcScZP1V; arc=fail smtp.client-ip=52.101.52.16 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="ZcScZP1V" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xYyOX3pJoTZFqaRVI3ApRF4QYXBTOQn0pjO9u1eQvqMXO+XoqLq6NRpIe/hASaYHdKby8JCYNDU3UgKUft8P8PcBjbgV+SSYTLauPiLBPB3nf9jsgDiwVYZPpHgjNepwPRMeviC2cOkaAUWp7lWqLYERxX3rd/IIIgvvP37Al04u8lKZPD/jci+fb3EtcPglP1OU0ImCymQZqikBUMTv2rPE3Ph3GwOwSXOZX5VexDMmaufz72CLhbl7cjO3GMqc9UdKXH+rIfcwCswYBl/x3g/LHDwsE6fU3AnM55QutUKe1oexmKHicQCmn1E6oXSZI2mrf4yMbXIub0rT2RXJKw== 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=xjIso0qIEN0C7CvEOKCVkSqgc9+WXM81F/XInWl6YYw=; b=Foj54azHHwovspVWX+TqqXmkdNKWHW1nKROIwcS7u7EeD7rjyyVRnkfXYomLuaVhLqlvtCU9tvk7kWtVIPC2lrhtZfl0EMyU1umQsvztjMYz3V956OlFHlARvLPujJWFUdJ80VpAqT9qh8fm9v+ipBcC0gHd3NioAYprzOIOJs4rzmRIxTlLVzVVr53iearvQ1ylVOcnxdFDYrPhVuxfRt8Ea+C/WHn6rv2kvD/o/k+hD+vb4oZuu25NuYwpc9AQV4hTRpgvy9RyY66WGiw6ZsJfaD97JD2ktxf26Lbpaqjjmo4Kt/dVr98M0C6dTGrL1V7nksc6Z6PzXapak5LS2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linux-foundation.org smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xjIso0qIEN0C7CvEOKCVkSqgc9+WXM81F/XInWl6YYw=; b=ZcScZP1V7wBNukM3BKxWQ5rqAAsIEqj9z42vNK/fHUL9nX6kTJiBFVSJge8su3frVStft4aFqJWzK5hj9nuGM+fsw9X6ZXEkQNJ/1f5P+fRJYvi8fkuKrrJn7fNS5Ix7Eh4iEcZyRxjJZclyxS9OloMaXkCkYCObekce3yqVaZY= Received: from SJ0PR13CA0147.namprd13.prod.outlook.com (2603:10b6:a03:2c6::32) by DS0PR12MB8456.namprd12.prod.outlook.com (2603:10b6:8:161::8) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9745.20; Tue, 24 Mar 2026 11:48:07 +0000 Received: from SJ1PEPF00001CDF.namprd05.prod.outlook.com (2603:10b6:a03:2c6:cafe::d8) by SJ0PR13CA0147.outlook.office365.com (2603:10b6:a03:2c6::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9723.31 via Frontend Transport; Tue, 24 Mar 2026 11:48:07 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=satlexmb07.amd.com; pr=C Received: from satlexmb07.amd.com (165.204.84.17) by SJ1PEPF00001CDF.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9723.19 via Frontend Transport; Tue, 24 Mar 2026 11:48:07 +0000 Received: from kaveri.amd.com (10.180.168.240) by satlexmb07.amd.com (10.181.42.216) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.17; Tue, 24 Mar 2026 06:48:02 -0500 From: Shivank Garg To: Andrew Morton , David Hildenbrand CC: , Zi Yan , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , "Alistair Popple" , , , Shivank Garg Subject: [PATCH v2] mm/migrate: rename PAGE_ migration flags to FOLIO_ Date: Tue, 24 Mar 2026 11:47:20 +0000 Message-ID: <20260324114720.864478-2-shivankg@amd.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: satlexmb08.amd.com (10.181.42.217) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF00001CDF:EE_|DS0PR12MB8456:EE_ X-MS-Office365-Filtering-Correlation-Id: 5b642ed4-090a-4a7a-8b4e-08de899b3774 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|36860700016|82310400026|13003099007|18002099003|56012099003; X-Microsoft-Antispam-Message-Info: VJhFoZ6BXK4709nCFRPMB8iSErXVwHr6gl9dAPtQb3o9vqdnAIWoKPoU+rEZri2dNFeUQAt0X+n0kQL/Fb1zqRZCC+KiQsgeVNOptHuvJJRBQdcPRG5jx3VUAoSoWmW36pA92rig9MfYnqHsRzgAb5nIRKcNg+qDJZzhR3kWpuxSyEp24ndsSR3VJ9i4FVL1WIFMYXWRlzIJQEtnRQU6z0xAL9fgx6gmig6dV5BDOy9nsqAdSjZot0zWLx7fsmuFt8/zZSp2MiJYady2+5bTmg02uZqUBmtJWZwPXkW6Y17FMHAxLmx/KmrIc+7Kwki7qyDgmHlkdfTrRTVuxBwHM0V5djvhct3SV3+J3uJVB63wapfMQCYfRDBqE29sM/84tfKvVNc2XBiS7emppMWGsjHtfbL8qTB/9tZxA0nXTAF7KOQPHxwlXsZ6JW9PpYsvIxjDGH66xO2jdtr/RoFfPPTAWBEJ5KioXgirx50HlmB6IyGIaiEm+XfGr8uYU67WLkUX6HwAcYzLoZ3xQs4537VJDit4kvutl8ZCR2uUHKYIXD4ooT9ny7ZckSDMNDy6H/m9rAEn3kSaRU/MfZc3ZmCdsqh/bS3f1CcXVqmwkYfiPuKQq4zt2SrY9G088yKKSEYKJ6ov/MywtE0weRnshI2UnDFIp9wtBkfC1hwYt0x7K7ckaau254vZAfG/niiiNZOcphqs23wuAdOqFU+UGZmUmYERFSa69sDage38vvhpMJ6kwDahkIT86d/MY8PeslBv8nuyml4uCttu6fxM8Q== X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:satlexmb07.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(36860700016)(82310400026)(13003099007)(18002099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: bzUCGLgoVBpfjHAeD/hTSq1gbv6QsQmVXv22i0GE1wS09U0yGzIGAX6vCw3OEOFunRY50WagFCMZuWzaDKekUBqt7hy0vG7Ao4VpUcDHK0apl/9HaDJk7PcMP7dRrpdEYwUI3XOfZxrSlRN0MnrS6Mus/4OJmLp/UAq74L74yVlu5ke8q/3soE/+R7hPhKiVOK6uthpOB8VF1anXpoTGOwR7jhKHicWvxFFFh6oMgFGGtduV0Kwy+xQrhUB/XjAutWEvgWb+Z0cXKQOiSEc9tIZdLolIS4Ou85+wG/VWhe6Ae4QUFJlCuKN/rHmDE7lbrvHNGFnslFFmVYDxeyio8mtXy7UDsTyGYQMyWeIJf0Pey/tYe+2XiobeR763k8SHExeiqa3raA5YYIm4y75vXzgh9iBXBY0haRqMq59Gt8Um284EZN2LRPGNR19dWQb3 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Mar 2026 11:48:07.5505 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 5b642ed4-090a-4a7a-8b4e-08de899b3774 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[satlexmb07.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SJ1PEPF00001CDF.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8456 Content-Type: text/plain; charset="utf-8" These flags only track folio-specific state during migration and are not used for movable_ops pages. Rename the enum values and the old_page_state variable to match. No functional change. Suggested-by: David Hildenbrand Signed-off-by: Shivank Garg Acked-by: David Hildenbrand (Arm) Reviewed-by: Zi Yan --- Applies cleanly on mm-new (02b045682c74). v1: https://lore.kernel.org/all/20260323141935.389232-3-shivankg@amd.com v2: - Rename FOLIO_MF_* to FOLIO_*, per feedback from Willy. mm/migrate.c | 46 +++++++++++++++++++++++----------------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/mm/migrate.c b/mm/migrate.c index 05cb408846f2..7dd6c2f2e1ef 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1135,26 +1135,26 @@ static int move_to_new_folio(struct folio *dst, str= uct folio *src, * This is safe because nobody is using it except us. */ enum { - PAGE_WAS_MAPPED =3D BIT(0), - PAGE_WAS_MLOCKED =3D BIT(1), - PAGE_OLD_STATES =3D PAGE_WAS_MAPPED | PAGE_WAS_MLOCKED, + FOLIO_WAS_MAPPED =3D BIT(0), + FOLIO_WAS_MLOCKED =3D BIT(1), + FOLIO_OLD_STATES =3D FOLIO_WAS_MAPPED | FOLIO_WAS_MLOCKED, }; =20 static void __migrate_folio_record(struct folio *dst, - int old_page_state, + int old_folio_state, struct anon_vma *anon_vma) { - dst->private =3D (void *)anon_vma + old_page_state; + dst->private =3D (void *)anon_vma + old_folio_state; } =20 static void __migrate_folio_extract(struct folio *dst, - int *old_page_state, + int *old_folio_state, struct anon_vma **anon_vmap) { unsigned long private =3D (unsigned long)dst->private; =20 - *anon_vmap =3D (struct anon_vma *)(private & ~PAGE_OLD_STATES); - *old_page_state =3D private & PAGE_OLD_STATES; + *anon_vmap =3D (struct anon_vma *)(private & ~FOLIO_OLD_STATES); + *old_folio_state =3D private & FOLIO_OLD_STATES; dst->private =3D NULL; } =20 @@ -1209,7 +1209,7 @@ static int migrate_folio_unmap(new_folio_t get_new_fo= lio, { struct folio *dst; int rc =3D -EAGAIN; - int old_page_state =3D 0; + int old_folio_state =3D 0; struct anon_vma *anon_vma =3D NULL; bool locked =3D false; bool dst_locked =3D false; @@ -1253,7 +1253,7 @@ static int migrate_folio_unmap(new_folio_t get_new_fo= lio, } locked =3D true; if (folio_test_mlocked(src)) - old_page_state |=3D PAGE_WAS_MLOCKED; + old_folio_state |=3D FOLIO_WAS_MLOCKED; =20 if (folio_test_writeback(src)) { /* @@ -1302,7 +1302,7 @@ static int migrate_folio_unmap(new_folio_t get_new_fo= lio, dst_locked =3D true; =20 if (unlikely(page_has_movable_ops(&src->page))) { - __migrate_folio_record(dst, old_page_state, anon_vma); + __migrate_folio_record(dst, old_folio_state, anon_vma); return 0; } =20 @@ -1328,11 +1328,11 @@ static int migrate_folio_unmap(new_folio_t get_new_= folio, VM_BUG_ON_FOLIO(folio_test_anon(src) && !folio_test_ksm(src) && !anon_vma, src); try_to_migrate(src, mode =3D=3D MIGRATE_ASYNC ? TTU_BATCH_FLUSH : 0); - old_page_state |=3D PAGE_WAS_MAPPED; + old_folio_state |=3D FOLIO_WAS_MAPPED; } =20 if (!folio_mapped(src)) { - __migrate_folio_record(dst, old_page_state, anon_vma); + __migrate_folio_record(dst, old_folio_state, anon_vma); return 0; } =20 @@ -1344,7 +1344,7 @@ static int migrate_folio_unmap(new_folio_t get_new_fo= lio, if (rc =3D=3D -EAGAIN) ret =3D NULL; =20 - migrate_folio_undo_src(src, old_page_state & PAGE_WAS_MAPPED, + migrate_folio_undo_src(src, old_folio_state & FOLIO_WAS_MAPPED, anon_vma, locked, ret); migrate_folio_undo_dst(dst, dst_locked, put_new_folio, private); =20 @@ -1358,13 +1358,13 @@ static int migrate_folio_move(free_folio_t put_new_= folio, unsigned long private, struct list_head *ret) { int rc; - int old_page_state =3D 0; + int old_folio_state =3D 0; struct anon_vma *anon_vma =3D NULL; bool src_deferred_split =3D false; bool src_partially_mapped =3D false; struct list_head *prev; =20 - __migrate_folio_extract(dst, &old_page_state, &anon_vma); + __migrate_folio_extract(dst, &old_folio_state, &anon_vma); prev =3D dst->lru.prev; list_del(&dst->lru); =20 @@ -1395,10 +1395,10 @@ static int migrate_folio_move(free_folio_t put_new_= folio, unsigned long private, * isolated from the unevictable LRU: but this case is the easiest. */ folio_add_lru(dst); - if (old_page_state & PAGE_WAS_MLOCKED) + if (old_folio_state & FOLIO_WAS_MLOCKED) lru_add_drain(); =20 - if (old_page_state & PAGE_WAS_MAPPED) + if (old_folio_state & FOLIO_WAS_MAPPED) remove_migration_ptes(src, dst, 0); =20 /* @@ -1439,11 +1439,11 @@ static int migrate_folio_move(free_folio_t put_new_= folio, unsigned long private, */ if (rc =3D=3D -EAGAIN) { list_add(&dst->lru, prev); - __migrate_folio_record(dst, old_page_state, anon_vma); + __migrate_folio_record(dst, old_folio_state, anon_vma); return rc; } =20 - migrate_folio_undo_src(src, old_page_state & PAGE_WAS_MAPPED, + migrate_folio_undo_src(src, old_folio_state & FOLIO_WAS_MAPPED, anon_vma, true, ret); migrate_folio_undo_dst(dst, true, put_new_folio, private); =20 @@ -1777,11 +1777,11 @@ static void migrate_folios_undo(struct list_head *s= rc_folios, dst =3D list_first_entry(dst_folios, struct folio, lru); dst2 =3D list_next_entry(dst, lru); list_for_each_entry_safe(folio, folio2, src_folios, lru) { - int old_page_state =3D 0; + int old_folio_state =3D 0; struct anon_vma *anon_vma =3D NULL; =20 - __migrate_folio_extract(dst, &old_page_state, &anon_vma); - migrate_folio_undo_src(folio, old_page_state & PAGE_WAS_MAPPED, + __migrate_folio_extract(dst, &old_folio_state, &anon_vma); + migrate_folio_undo_src(folio, old_folio_state & FOLIO_WAS_MAPPED, anon_vma, true, ret_folios); list_del(&dst->lru); migrate_folio_undo_dst(dst, true, put_new_folio, private); base-commit: 02b045682c74be16c7d1501563f02b0e92d42cdb --=20 2.43.0