From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from MW6PR02CU001.outbound.protection.outlook.com (mail-westus2azon11012033.outbound.protection.outlook.com [52.101.48.33]) (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 9F719182D6 for ; Wed, 1 Jul 2026 05:18:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.48.33 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782883084; cv=fail; b=QMhzbUL2Y4z9WnPQOKCPXyZERNTxLIZdrhka4/Hzd6Kd6IWX4VULpXkhObzhQdw6qAJ8UcxmYRgWh6cf1CEr3JUfHQLgw4zv1P+tKzGsEdlIkVzIvZkLEM1kK+Gvf/u4Sxdpv0rcmIjf5HP71qN12cD4552+cG7W7+lsvoQqaMM= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1782883084; c=relaxed/simple; bh=1esM561UZzenr2kNIbDUUKxF8Ahuv7wmw08f+nnKnjg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-ID:References: In-Reply-To:To:CC; b=nqug9L1NNw0hqcTMHrKWCOEllIUuA/FeiF5zn7vIoZbFQk/SsOjxZ7Vml+ErVUdMt9xAl5x0Q2CdX24zr08ICwMYxemtfywoMexxZ9oTzvLptisy2dUzXkDVn6auJ7iS+71/Gr216m11kGEqZ2VDJS9nFEvWyzL81O8z6RnBJRI= 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=w39CAdLc; arc=fail smtp.client-ip=52.101.48.33 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="w39CAdLc" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=O75I3jESC97szLOoOybPH+ANi8ezUhqUf+bjDsnlGHv1+SRZlxZdE0bDIH4NF0A5tD7VhiGYwv9QyNeCKxKnj9VQfv2purYs8d+XDMv/vKKXvuGo7ROmRu9BBlJKgWLfzqMFmBGRHuN3Qsw1M8DqfDBYDUQ1PBVsMllIDqk6UjmndoQbxK6EopYTmVP5M1UDR+dzuowUcotaTcxVe4/0d+GDjA8Be7hAVkFGWX+y77UDKf13HMfZxoFi+CUIQ+kR04fc3/0GaWjuEkr9KiP7VIrRk92VW1tpQX8bL/efO2co+azCRUzhMvpHbRDP16p796mWM5jJqzw3fdAt8xr6dQ== 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=BwgZVydpBqnQ9RsW8z2ja6i5+awkijiRTjXEgaTtbuI=; b=tvPVfhhq4xryrSFlc1pA+QdIH3SSpyQ5sCgIWQsdfy/leiEIknRYPeyDL6yfOnw8TbBRPGBazV/EhfNUEicRzg2/QHjlRZ2SZrcDHUgSmaI+y0qzgWH4LGfOITGHKL0+435K/sCUyQO+CVUE/xDVn9hOyNTgSBM0CwDqD9nqNdaLMuXqU2eEctWsLKxLSv1fws3QxNY9en3NxvQkAWXDmtK0U/gX6Y2kN5DKiEq0rYUVfElZihpJAXc79ioo5PTnihFm7avtmpnbrDheaLYiXVl0Hp55lEzwARfC4ayhHa5B41HU1zEH9JgJPO1n0Wqb5o1cswSOmu9mssplbh8XaQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=nvidia.com 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=BwgZVydpBqnQ9RsW8z2ja6i5+awkijiRTjXEgaTtbuI=; b=w39CAdLcxOPVn2BBn7sHGdfCmgHuYP9GRwOPIFsciL6ButpQQvEKPLhmKNdECcSes3ReENJ8M3okzKGV+Kjquge1/6UYKF8BOi3n1oZaupjiHKQKlawENtGMylvWsuLFJPt0Dl1mci4XYFNf0kTLp4YR1Di+hTbEhlOqo6wYfDY= Received: from BL0PR05CA0029.namprd05.prod.outlook.com (2603:10b6:208:91::39) by PH0PR12MB999087.namprd12.prod.outlook.com (2603:10b6:510:38f::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.159.18; Wed, 1 Jul 2026 05:18:00 +0000 Received: from BL6PEPF0001AB73.namprd02.prod.outlook.com (2603:10b6:208:91:cafe::43) by BL0PR05CA0029.outlook.office365.com (2603:10b6:208:91::39) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.21.181.8 via Frontend Transport; Wed, 1 Jul 2026 05:18:00 +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 BL6PEPF0001AB73.mail.protection.outlook.com (10.167.242.166) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.181.6 via Frontend Transport; Wed, 1 Jul 2026 05:18:00 +0000 Received: from [127.0.1.1] (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.41; Wed, 1 Jul 2026 00:17:55 -0500 From: Shivank Garg Date: Wed, 1 Jul 2026 05:17:22 +0000 Subject: [PATCH v2 3/3] mm/migrate: use migrate_info field instead of private Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-ID: <20260701-migrate-cleanups-prep-v2-3-d9e8f17130b1@amd.com> References: <20260701-migrate-cleanups-prep-v2-0-d9e8f17130b1@amd.com> In-Reply-To: <20260701-migrate-cleanups-prep-v2-0-d9e8f17130b1@amd.com> To: Andrew Morton , David Hildenbrand , Zi Yan , Matthew Brost , Joshua Hahn , Rakie Kim , Byungchul Park , Gregory Price , Ying Huang , "Alistair Popple" , Lorenzo Stoakes , "Liam R. Howlett" , Vlastimil Babka , "Mike Rapoport" , Suren Baghdasaryan , "Michal Hocko" CC: , , Shivank Garg , Jonathan Cameron X-Mailer: b4 0.15-dev-47d62 X-Developer-Signature: v=1; a=ed25519-sha256; t=1782883059; l=2633; i=shivankg@amd.com; s=20260518; h=from:subject:message-id; bh=1esM561UZzenr2kNIbDUUKxF8Ahuv7wmw08f+nnKnjg=; b=skd/T6VtebbL/7NPFd3ymIqUDBpOWYRRtdTVtgNOkNdLaSggth1Rk5F/ezvUc4bLBE3qCI9DD a0ahk3KpNC5CyplQKIzvtsQ0nsuU+M3ZsZfjnlaNH1DMiBIH+BfIJ6P X-Developer-Key: i=shivankg@amd.com; a=ed25519; pk=2l2QGTeXuGkZTtfmx0nPQU8iFZfjYmX/ymMojitevx4= 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: BL6PEPF0001AB73:EE_|PH0PR12MB999087:EE_ X-MS-Office365-Filtering-Correlation-Id: 6b11487b-a96b-4777-de71-08ded7301e6b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700016|376014|7416014|82310400026|23010399003|1800799024|56012099006|11063799006|18002099003|22082099003|921020; X-Microsoft-Antispam-Message-Info: v6CoyVyqBNYDKLR6JpEV0YZuvx4jWgdX/zW+LfxdO3OkcMklKWJwwefoRZ/T7LC6r7N/8pRnOhUVqT+1sy3ZL/97EkGuLeFqWRzOofUNR4dc3O6F2/COmET8WE4cERoGZklOendIYaCnmX5CJhLamwLeoBKMSV0JcbRJMON2r/mXc8r56Yc3wPZO0m6GtWigZ8ZhPG9zpfhsKMWjw3b4QIOEUpEyr1ZCENU56CjZnzI1BHweKOTPPDheuQx9BXNiK9oyL3rnnFyKWlrfNsBMPx6O+CnEjk4B76zGJY6a7HZhppHBTTwTRl7Gyy4CQnokZg3OhD1iSL6nxUM/nAPS2kqFpe/IdzgeAwbKfaFCur8oHqVPvKwAeyYs8mZFNPAerL4Xt7iRtRceosY8ue23x/oLNpV/P2X6T53L3kqdtqZ24AZRRpxQMp622iOv4cYoKXZ+cTK0qRy7RflLsqTX5hE0FNgRI+i/i/H4yG3RpYXleK/NgbGlJ8sm75ruR9CY7gKSoNFv5ddjoEktV+KvywoAi4eX3jE1ue4VslqV2ektYJqeaUE1TLPMnDxiTPQi6+MmPhr7486UKY1CIR9YGkAovkP+Nq1D/bQRvThyi37ZCK/VB7MtXAHelMA8YZpVT9JQKKm88D5DucLunDj5kNbUfGo7hQPnDooTRX8QqwfCK0zULN3ZON6ZpWmz1T7JYXlncHy5gBxI3LLiN0g8yuV6V3aFLuzq/0XFCcV4jg8H1qsCT7x/sRscPQv5273r 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)(36860700016)(376014)(7416014)(82310400026)(23010399003)(1800799024)(56012099006)(11063799006)(18002099003)(22082099003)(921020);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: UeTXXN07cAjXzE6v5k2cWPyFbxzjrTG0MklaEDDKOiE52jU86HsKHawBlfccJND+iahFls6mfDf5McNG/YQfXhmO+ei6iLndFlZwae+y+HuKxg76FWoIS4h7bEFRuK6ynBHwE/d1xddLyEnQm796/JHU+qjU9P2Ftj1lHKdSl9B/71XUkI6KwBMhIEe0xXYKqKAyV72rCOqCF1qrA2I9o88dpTukemSBBblecLmCnvmzHpDVgYfPrB81NjsqFxDM7LVcNoal5B+4XQeBlCuJrOrTrf7xXJOHTmmUwrKJtNQzsZ+SPLSAAYtEGm4lMLoSbW/voZmghAqYm+HOmUpwS6NcOko4EllzmMJu9ssu6MEK7lle0RzvuG3RsCw9rnNLNWoHkyxhnAxFYjywNSHfOnWSnXz5Rz3dxX4arjWyY36IH7PDuYkt+NG7GaQJyvWp X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 01 Jul 2026 05:18:00.1626 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 6b11487b-a96b-4777-de71-08ded7301e6b 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: BL6PEPF0001AB73.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR12MB999087 Add an unsigned long migrate_info member to the struct folio union and use it to store migration state (anon_vma pointer and FOLIO_WAS_* markers) instead of using folio->private. While at it, switch to bitwise OR. No functional change. Suggested-by: David Hildenbrand (Arm) Reviewed-by: Jonathan Cameron Acked-by: David Hildenbrand (Arm) Reviewed-by: Huang Ying Acked-by: Zi Yan Signed-off-by: Shivank Garg --- include/linux/mm_types.h | 1 + mm/migrate.c | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h index b18c2b2e7d2c..ae9bca4eda5c 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -427,6 +427,7 @@ struct folio { union { void *private; swp_entry_t swap; + unsigned long migrate_info; }; atomic_t _mapcount; atomic_t _refcount; diff --git a/mm/migrate.c b/mm/migrate.c index 5bc81d61116f..6fb6f46eea5f 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -1130,7 +1130,7 @@ static int move_to_new_folio(struct folio *dst, struct folio *src, } /* - * To record some information during migration, we use unused private + * To record some information during migration, we use the migrate_info * field of struct folio of the newly allocated destination folio. * This is safe because nobody is using it except us. */ @@ -1143,17 +1143,17 @@ enum { static void __migrate_folio_record(struct folio *dst, int old_folio_state, struct anon_vma *anon_vma) { - dst->private = (void *)anon_vma + old_folio_state; + dst->migrate_info = (unsigned long)anon_vma | old_folio_state; } static void __migrate_folio_extract(struct folio *dst, int *old_folio_state, struct anon_vma **anon_vmap) { - unsigned long private = (unsigned long)dst->private; + unsigned long info = dst->migrate_info; - *anon_vmap = (struct anon_vma *)(private & ~FOLIO_OLD_STATES); - *old_folio_state = private & FOLIO_OLD_STATES; - dst->private = NULL; + *anon_vmap = (struct anon_vma *)(info & ~FOLIO_OLD_STATES); + *old_folio_state = info & FOLIO_OLD_STATES; + dst->migrate_info = 0; } /* Restore the source folio to the original state upon failure */ @@ -1214,7 +1214,7 @@ static int migrate_folio_unmap(new_folio_t get_new_folio, return -ENOMEM; *dstp = dst; - dst->private = NULL; + dst->migrate_info = 0; if (!folio_trylock(src)) { if (mode == MIGRATE_ASYNC) -- 2.43.0