From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010050.outbound.protection.outlook.com [52.101.85.50]) (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 D8DA22EDD62 for ; Tue, 28 Apr 2026 15:52:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.85.50 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777391539; cv=fail; b=thudLMIknBUNOt2Hehu+O858rMoGoJODc4v8IojURvKzMyWd5TWuvf3eQpnkB2iDm6qPe6Zs75j5822IeWLQjY9gkJ/d8lG3EYcp3hQa10qk3B0M2CT0Q5eDorGAb2Uj4hDzIDrH3+j3bd9WU5XFOmV+xlcFd+/s/1sN1Gkhg9s= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777391539; c=relaxed/simple; bh=l1WY1F2y/bwB6TDN0jxNgIU1J6lgcVfHgYQgquONt6E=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=DN2ywtPRTQdkFURw08MHbHPcGqed7GLwEYm4hAR+H7A7OSf2IkA/ejCJVJdhVE8By0jGwu8VLQKuHKF1iG+yKFNkf4lLiZ+mOpvaOfP85Zhh1noSrLFCZeiW0JpOUghkqGIWrJQUD76LHXv28+okYs17ij7tDv/h8wNic/pANDE= 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=IQWRcdOD; arc=fail smtp.client-ip=52.101.85.50 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="IQWRcdOD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=w114zZToBU0thxIhAy+NTk8PH7N6SQTMYWEdXKWGO5K5V/siFeZDhVVybXX0XMAF1zRJHK8KR1pZLVTeUWxXJZXMIIIt7dZov6xsNWGauBrRAx2PghvhH/d94YWZD+cJyR02tanzWqGNHyrpljK/sypNqEvn8OLT5lsTs5kt8ZUE7PvHG7PsxIasrD7Nzyn9nXmsb0VDmUu+QmhUARCVOF904Z2pNQLSa8+ivt82vCcNu+OmN7WT9/jxohi1VRs+I6T/XR7OecswNkxa1uDwJLVjnY/A8ogWDUitgQ+5hWeI5lzhNXwNbrOIq2W2Q86RpTvLez9jZl7xHUTy0ghtHA== 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=i4xms1cijBzKJu8O/pAsQ0BL/RdmQNHdZRvXeM9xbLE=; b=yLaBPTaM7IIbLtY3Py9LP+HcUJSF+EPussQUxqwc1UhxYGUcqXMgoQPXnNMsi5fII1VhbHg0K5MksM1fuvf/Qs+s2Rg7lKkKu4DkHr9jH3MrYDLY2OZi3ByR/fWtwE+hXotbrwyrC8pOGlDHG9qFfydOcrwexqi6gAxcJtRhWKr5g8Suti/afNQibnUU4DpwMh0WvZbdPhHfWIZIq/GRel04vNEk3GQ0gOQgjmYE7CBmhC5457AqbRMYq1hvLeag6OGBsPK71qQ2UrimpkS12gBM7VmieIUQDcKN6VaNVEUHNqXm70UW1WgWltose6YvZH93h/tu8aVo1GG+ezSImA== 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=i4xms1cijBzKJu8O/pAsQ0BL/RdmQNHdZRvXeM9xbLE=; b=IQWRcdODnXUjN23DsyVNJx6UTD5YftYo5Ml20kheheyw2w05PYcaAJ4t6zba31kGRujsMyOtC0IowelWyDjt35VNQcxM5ga0RY3kh4/kL7r+J9RgeuHMYQlAswHRbYCtA0xKJJS3CaBDgzpURSfo2E0l3/jlQYQ9Sk4yqPE50nI= Received: from BYAPR06CA0005.namprd06.prod.outlook.com (2603:10b6:a03:d4::18) by CYYPR12MB8704.namprd12.prod.outlook.com (2603:10b6:930:c2::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.16; Tue, 28 Apr 2026 15:52:12 +0000 Received: from SJ1PEPF000026C8.namprd04.prod.outlook.com (2603:10b6:a03:d4:cafe::d5) by BYAPR06CA0005.outlook.office365.com (2603:10b6:a03:d4::18) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9846.26 via Frontend Transport; Tue, 28 Apr 2026 15:52:12 +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 SJ1PEPF000026C8.mail.protection.outlook.com (10.167.244.105) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.18 via Frontend Transport; Tue, 28 Apr 2026 15:52:11 +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, 28 Apr 2026 10:51:53 -0500 From: Shivank Garg To: , CC: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , Shivank Garg , Baolin Wang , Lance Yang Subject: [PATCH 1/7] mm/migrate: rename PAGE_ migration flags to FOLIO_ Date: Tue, 28 Apr 2026 15:50:39 +0000 Message-ID: <20260428155043.39251-4-shivankg@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260428155043.39251-2-shivankg@amd.com> References: <20260428155043.39251-2-shivankg@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-ClientProxiedBy: satlexmb07.amd.com (10.181.42.216) To satlexmb07.amd.com (10.181.42.216) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SJ1PEPF000026C8:EE_|CYYPR12MB8704:EE_ X-MS-Office365-Filtering-Correlation-Id: 55f4a7ed-b4e2-438c-9088-08dea53e1ca1 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|1800799024|7416014|376014|36860700016|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: gQEmw4aapZepwWUEtr+Q4Q6GKSu2ui8iE9/RoXXo/AlIB4XdupG0U0RtjcBoMaX0WY9OlAroROAvdeSeZ2lfWIKpl36gHF2TNmN/KXFnh2K6NTDdQqjmrT6dre/1BvCs+qbfwsAENdtohukczvVk1H0TbgiEgubfS0r/FaHpriBz8n/tbCy3ZCBYuTmkbC6aiTVaVgy4yYMpvIZX2ywt4nrhItnJvhdpz11LpPUeNZLkw12U+vPTtmI7zfi5pvxITFCHqTnPRrsAQOYernDtHnigp4kegc9aWJft6V1CVfnTTEQY4x1389NqiVj6+HoooNeomQzmEMGGBZF2MVxeiU19Glf8ZrJSZZV8ZJocu9iaz2HXi++K0YOqMCAjHj9OXmrTeLfLherjhjQiBCRVdJ5KGdXQDJ/CBCSKCb/8YikNMZyjL9AeyofkS6buTasEQrz8tL60eFbsre2PFKrrK9MjDjbXrRKq5Ns4daAQSXiZOaWbd6RldthZLfZBxVa7OQFmn25Nb2JjIu5zxKumUpJgNAlJmypfI/ci09czX19SoYR/ITv/NGEnIxAqoXrwwPg/P6bOZ/2zXiIxQonOv2DuyDhFJVlbKItYcQ/54yDkD+UA5I76pOds1lPdpZmMIMF+gEk8CbC3BPqX3OXLT5ukfOsmitFdPlTl9NZZQu8e/aeyFEwyBF/q13xq9LWzcbeLOWjuQ0qMIhJYDcWMWZLfI/ASz/GRs/BxQO1eKEfDBrs40wKzDXOW18rCrULNIHNc9iuNFjjXpKiARdeggA== 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)(82310400026)(1800799024)(7416014)(376014)(36860700016)(18002099003)(22082099003)(56012099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: okaJK36rdwdAR3rOjMRvQSNDQsazaVV3EofYMBqatQmgKJa0oZrKYlRp0A6j9ZWtxw6cSzLHmWBXOrtoLYbUSfEg+mfz5G9AzcCS0Y62QxCDkx8pZx9rxqKGHLPPI0pf4iW3AvqPJNrhHMRsLw1W3w67ws/mA8yMTuy9aQiZCSMlZq6OeVCeGwy/h5XabT/PTD+l00U1/871/Cy4yjo7MIvEHW6+AC97iZROvxayGDBUY/UvXS+fPR+E24Q8MZi3jf6PL2eLIr1yQTpvGKU3n1sBFzErWbQsVNxbytLuPHzvfMAGvE3Tmu+0xIiV5enrVCAohD11+bpkEW0vZnLv+7gkJF6cqyQtZCSy1N5HfDvInZgS3gUggDgRYd0n1vDjGzbZ3k/0MmQsCKQVQpCafePWI8zFGjNa9l8GyfB+MVrYI3BKXHG4qJ9NJ3hlgmQi X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Apr 2026 15:52:11.8759 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 55f4a7ed-b4e2-438c-9088-08dea53e1ca1 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: SJ1PEPF000026C8.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CYYPR12MB8704 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 Acked-by: David Hildenbrand (Arm) Reviewed-by: Zi Yan Reviewed-by: Baolin Wang Reviewed-by: Lance Yang Signed-off-by: Shivank Garg --- mm/migrate.c | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/mm/migrate.c b/mm/migrate.c index 8a64291ab5b4..0c6a0ab6ecce 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1135,26 +1135,24 @@ static int move_to_new_folio(struct folio *dst, struct folio *src, * This is safe because nobody is using it except us. */ enum { - PAGE_WAS_MAPPED = BIT(0), - PAGE_WAS_MLOCKED = BIT(1), - PAGE_OLD_STATES = PAGE_WAS_MAPPED | PAGE_WAS_MLOCKED, + FOLIO_WAS_MAPPED = BIT(0), + FOLIO_WAS_MLOCKED = BIT(1), + FOLIO_OLD_STATES = FOLIO_WAS_MAPPED | FOLIO_WAS_MLOCKED, }; static void __migrate_folio_record(struct folio *dst, - int old_page_state, - struct anon_vma *anon_vma) + int old_folio_state, struct anon_vma *anon_vma) { - dst->private = (void *)anon_vma + old_page_state; + dst->private = (void *)anon_vma + old_folio_state; } static void __migrate_folio_extract(struct folio *dst, - int *old_page_state, - struct anon_vma **anon_vmap) + int *old_folio_state, struct anon_vma **anon_vmap) { unsigned long private = (unsigned long)dst->private; - *anon_vmap = (struct anon_vma *)(private & ~PAGE_OLD_STATES); - *old_page_state = private & PAGE_OLD_STATES; + *anon_vmap = (struct anon_vma *)(private & ~FOLIO_OLD_STATES); + *old_folio_state = private & FOLIO_OLD_STATES; dst->private = NULL; } @@ -1209,7 +1207,7 @@ static int migrate_folio_unmap(new_folio_t get_new_folio, { struct folio *dst; int rc = -EAGAIN; - int old_page_state = 0; + int old_folio_state = 0; struct anon_vma *anon_vma = NULL; bool locked = false; bool dst_locked = false; @@ -1253,7 +1251,7 @@ static int migrate_folio_unmap(new_folio_t get_new_folio, } locked = true; if (folio_test_mlocked(src)) - old_page_state |= PAGE_WAS_MLOCKED; + old_folio_state |= FOLIO_WAS_MLOCKED; if (folio_test_writeback(src)) { /* @@ -1302,7 +1300,7 @@ static int migrate_folio_unmap(new_folio_t get_new_folio, dst_locked = true; 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; } @@ -1328,11 +1326,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 == MIGRATE_ASYNC ? TTU_BATCH_FLUSH : 0); - old_page_state |= PAGE_WAS_MAPPED; + old_folio_state |= FOLIO_WAS_MAPPED; } if (!folio_mapped(src)) { - __migrate_folio_record(dst, old_page_state, anon_vma); + __migrate_folio_record(dst, old_folio_state, anon_vma); return 0; } @@ -1344,7 +1342,7 @@ static int migrate_folio_unmap(new_folio_t get_new_folio, if (rc == -EAGAIN) ret = NULL; - 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); @@ -1358,13 +1356,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 = 0; + int old_folio_state = 0; struct anon_vma *anon_vma = NULL; bool src_deferred_split = false; bool src_partially_mapped = false; struct list_head *prev; - __migrate_folio_extract(dst, &old_page_state, &anon_vma); + __migrate_folio_extract(dst, &old_folio_state, &anon_vma); prev = dst->lru.prev; list_del(&dst->lru); @@ -1404,10 +1402,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(); - if (old_page_state & PAGE_WAS_MAPPED) + if (old_folio_state & FOLIO_WAS_MAPPED) remove_migration_ptes(src, dst, 0); out_unlock_both: @@ -1439,11 +1437,11 @@ static int migrate_folio_move(free_folio_t put_new_folio, unsigned long private, */ if (rc == -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; } - 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); @@ -1777,11 +1775,11 @@ static void migrate_folios_undo(struct list_head *src_folios, dst = list_first_entry(dst_folios, struct folio, lru); dst2 = list_next_entry(dst, lru); list_for_each_entry_safe(folio, folio2, src_folios, lru) { - int old_page_state = 0; + int old_folio_state = 0; struct anon_vma *anon_vma = NULL; - __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); -- 2.43.0