From patchwork Fri Feb 28 15:42:19 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Zi Yan X-Patchwork-Id: 13996656 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 815ECC282C1 for ; Fri, 28 Feb 2025 15:42:58 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 03976280003; Fri, 28 Feb 2025 10:42:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id F2BEB280002; Fri, 28 Feb 2025 10:42:57 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id DA4AD280003; Fri, 28 Feb 2025 10:42:57 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id BC353280002 for ; Fri, 28 Feb 2025 10:42:57 -0500 (EST) Received: from smtpin10.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 57E62140DED for ; Fri, 28 Feb 2025 15:42:57 +0000 (UTC) X-FDA: 83169771594.10.479359F Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2040.outbound.protection.outlook.com [40.107.237.40]) by imf23.hostedemail.com (Postfix) with ESMTP id CFE0C14001C for ; Fri, 28 Feb 2025 15:42:42 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="sScYgAa/"; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of ziy@nvidia.com designates 40.107.237.40 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1740757363; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=xs9HLOqUPbxBaeylFXuGaeB0vXRptZpOPf7bbvnmrMc=; b=cTJEkK9ODS1ma/Iw/OpYM107lDRasBuv8tKBebAEh7eUcvqcDSVTSU2BFHLHAI/YA35nL7 2feZylL2MwOX520AbfSckq49PPqWTqxWfrD2cbbMGUv3pIbGAxg5F3MUR/JDpvY1Xwjje7 vQ1KSR6+fMS0B3xnDLpfDYwJW+/zzLE= ARC-Authentication-Results: i=2; imf23.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b="sScYgAa/"; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf23.hostedemail.com: domain of ziy@nvidia.com designates 40.107.237.40 as permitted sender) smtp.mailfrom=ziy@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1740757363; a=rsa-sha256; cv=pass; b=q0yuhhByvFIbfLtEwHos80phDrxqAlUBpDQkRInSnUK+tWoEl+5W4DWuVgF8OeWTfen11V X6n2/dq/5iPKJyfagOJ0NvxrCD1ApCp/v/P3lb8zBGE+qgdO/x2cKufzVaVs9MOSQ60cc7 MNyU7sxspIwPfNey5Nl7nmx40/1sMO4= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=JBeGs712zjhrnniMmztRqM5T3d0hSv8Z/S/8rsmBRVrokfztV2pA8/Y0GARO4a3Z85RORxswihcrngtuqtT1AvV3kkapzyK3R16n8YuA5ePsFfBaxB/YPjjMTSloCCUFS0Mz5v2zrjK0Z7KzrT78yZ9EukI35lyhwpPaXWqa84ous0zH57HMqdOLm7GmelZh2vqt+d5Tcip+5hdNBCe3loQp3xVMLp9DoZF/LWZZ7plk+v+8lei8O64EeYWIz2jtf3OPPNasV66kvZ9AmWWx3El4Jf72Uz6q6uiPsuiveB5APmszj5cYqNgLVrlReu5kwSLI4pxeAkXwxetzXd4o2Q== 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=xs9HLOqUPbxBaeylFXuGaeB0vXRptZpOPf7bbvnmrMc=; b=t0es2EFih6dLBgJjJGX4S7TVrkozVY4kYOpjcvOxXrC19oZyIeIR2IcC/sCSWDePmvYVxd2qMRw/9llb4VFkQ4vpXules0DTktoyxb0R3324Tbk9iD06EArD2OLd2zBkAcB+tz7y/meP1pr4I/587G4UtTjuH506Pqlaqd3JkBnLffAW1HRQ0mCJJXxqyIlvzYRegxfvpkQKvZTJqiZ78X/c9W5CpVRHm7abZ1moI/fj10SxYs+dKeqsj+BAm2JPAV/VyDJtoIyXz1B6ETpcFHYTYNH9b6TsTpduAucgwcL5/06RMzEkbhbsj0GiW8LT1jdH7ej1Ef0uKRjyT1lWvg== 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=xs9HLOqUPbxBaeylFXuGaeB0vXRptZpOPf7bbvnmrMc=; b=sScYgAa/adkG3adJqyJFm4LN3MyL8Bn8Ye0U+/StTApqya0Lv8DH54DcDklN3JXMWo8cjnVeUXKGxvvtl3N178h+F2/bTPHctc7V/eBlqJwMjvVnTSG7S7i9BN5i+5a7BX/1CCXSd0gF/vklhiuWk3W3cU9ISgd9is3XY+psT4INffQFfvg+2p/LwqGe3o+/NsvXTYEmtbbd75x9QoImOISKPc4jJKFv2+UnjJhWDpDkdYV+Z0gUSxPL+mvQj6SLs8AcPZArG8NmsqtOzMqgNIpADF1XRuyVDcq/IA/YQZqP3IV8LkT/WZYkc2Xk1jZsAFkoVxxPlBssR+IjANkK1g== Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by SA1PR12MB7224.namprd12.prod.outlook.com (2603:10b6:806:2bb::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8466.21; Fri, 28 Feb 2025 15:42:39 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::5189:ecec:d84a:133a%5]) with mapi id 15.20.8489.021; Fri, 28 Feb 2025 15:42:37 +0000 From: Zi Yan To: Liu Shixin , Baolin Wang , linux-mm@kvack.org Cc: Andrew Morton , Barry Song , David Hildenbrand , Kefeng Wang , Lance Yang , Ryan Roberts , Matthew Wilcox , Hugh Dickins , Charan Teja Kalla , linux-kernel@vger.kernel.org, Zi Yan Subject: [PATCH] mm/migrate: fix shmem xarray update during migration Date: Fri, 28 Feb 2025 10:42:19 -0500 Message-ID: <20250228154219.2214149-1-ziy@nvidia.com> X-Mailer: git-send-email 2.47.2 X-ClientProxiedBy: BL0PR0102CA0021.prod.exchangelabs.com (2603:10b6:207:18::34) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS7PR12MB9473:EE_|SA1PR12MB7224:EE_ X-MS-Office365-Filtering-Correlation-Id: 9a6de3a9-ae3c-4da9-8b63-08dd580e86a6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|376014|7416014|7053199007; X-Microsoft-Antispam-Message-Info: dTytMWCkC5UZ/RpegoO1o8C21TSbGZ9/X7ap89BUZoq8k5b9Lfhon3rB3p0gXzaKtnCRYsOp0zBhqbZ58faA/kvWSjGmXTWb/IMe6E7WRKEx8rCnzFhsm7s/EfVANnPY3n8tXUpPHAA4fS9q6+CGfhqLEMYU4+v6mHsABL8VBgg6ScjxVPLlSvisSKjBSV5k7oiuvpbxunJ+YLupDQ7LT2gr1wpV5E0ASdRaumY96D8ED/JJ+oBdhUF45gn8E8BLf5rFeLy7i6TiXwBNsUY1ikdmZ0tqo7/E7sBwTdedTAuflunfTmcWfdUU3wZhewDM30cxuFY7HsDuWtDQWtvYJXOqp42aLje1KdsiiRzAd/MkKdeZmI4FZQnyQYpCTbmL7pXQed8wo7GW7xWLo6P9gE7DC79JpUMektcHVAiVG0WLGPTShv3uo+bC4ro2lVz1bvwAGG/GsnDlDTksPhffRAo1/4wpZuq03ht7Y2o1NhhY6nuVhim3srXDm0zjjtOniD7WN0s+JADwHhlRjomqxYigltLjTDep18JpLWFQSi9GRiwFxvFrovdj1R8GN2PS5XX1JajGpY0I0gu5Lz7ntyQinu1yr5cctpjIkJ4iKfMamOOS7HZcS4dweXs7O7hn3OFG/ZrNn6ynTLmVcXBcf4+0Hy3Jak8x76hLIhv/Zss5zq9ssDgIdTe0KarXyBWlL6DEIOLwgFnbUePueJ3d60JY0ZhZRNTygC1YcANuELvEEiHh/2pP/mm3KNedYJMJ9YmsRRtqUjaUW8nDsvaIV640l9jIXzNLbOxpNE1XNgKO917s7WYlxJh0X06aNE517MOzGdF6Wqdr6mJofE2C4o5XKS1NbSDlXVObFFZV6ILfZkb9pXHcWXaBPSpbODfVwjnm95rUt/AJP8PGBDSuhs0lV/UXzx9J95+WGzJNKTXv2iYAxr9uCKGy5K0AlLYwNc5PdYvK+tSIS2eTojQk08I7MK+0GUcT+Vc54jEmnePtxKqSoH6hSxpwHwbULdUL50O7w7n/Rm0iOXMRwoOPkORgblOTz0JE+EJ3Cylpe+FFWqn7kWgpDBj9UAzRaIJ9+1bDyLuOxwJL0pPD5sXAJE0KVU2wGNbIwZAD5PcTHlmsO64qw7asq3bgD8hkMjWR0jioZKesdf4rdTz14pW7V22vM9605OjULhnxShInuKoc5eDulD2J+RQhOan+IGGbdkDVzX/iDQu1IxMGRo3JV7UVGcq4mMDOrKCtLvAiv40LtIGSm87QBbonVV1iN7cMPMyVM8AxK6GPTM9yV89n7/9hFO8W5saPmDHfdIMSBVJ7zU12GKV1nPc44UO7uNJvg9TD9nauSTPGWaZ7xPnbyjh3jwiQJn+ugcEbx4aPT0iPCv5dGrZVeQxJ+Y5jvXpr 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)(366016)(1800799024)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aVvrGjxM7jnkE3Yafvsz7yYpGan2E2Pg4pnV/PVNhBOK5q8FWc5ZCUzzPy5VGYOyxm39FxXTOBYj8I74iUkjPRLu3kSfNf/Dx6FLh0j5REDww+8G3QqlxsbGqVdDYC6DVX32O3IaGoVJOIHIHsY0tLy0z0uoxFW8ezdpuwf4+HSiC2iO/SM2SUSR5fTPSIazTwGTFKTpr5W9aMD9Vg5f42JPtraz6oq9P07XtiLLk0XyM/u2KAc+S+ghESA5nEIeRxF3hDdXZ0Wxr/UM0BnqNdZ83uAzcJDCmLcha7KO3qgc+7uDCnbieUmg28WFlvxHnk6MDenZe74yG81tVq03YoNePx0UYee0Z+g7J8jKKRsqk4IWHxZO6jjj7Looniviba1cxifEjm8Ds8jjDiAeVtWvq29j1vk/YrooOhrAHtJ+30fNn6FImZyvU2N/VUunwNv6fuCnuv+rBRGRovQq6x2p/1boqkx9ogmD2DM6PT5evrMFTXjT59iXtSCbBgdUBrADgZ1t6zW2e8aeStM78FpPTe3ZqEOQgjsX/iegM1E/r11XRvisZIbIcZOjH7bZDRP8/gM7F8aiDRpv00jWGyNxkf2ljltwAmDg12ahSwiVWw6fdH5krJBoDWjiv1t3CwCgS4UHqtZnLXIa641Y9zxRpyzVSYQxTCq3HZSfIq/2adKJbo8EXZwD259MEbN6Sq1cuoQBMRFvAzgWuggZiAn+V62CjftL4dVf5x1VKr+nvlvD4CHxKxikh7eIktaNwHZSPuvg8RxQFk5qcpo/z6OB/RUatgsI4Ed3uFUutcp1G13RhLmm6OUhzOEQ+kQu0p9zNzuNF9HFFHa5BgxOnZ2ibn78ynj23wnbdMy5C0RSQYtnjXhBcvfKipTJv9UJHR1baLRHtb6Mllvp2tH/WgLpemwB5SNcivV/TTjxelfQ7zd6GMi+xyORM6v1FWlYJin2x65UvCRfGgS+LLk/YnjRPl5vQVUUYhL8PwJfBU8OCIeKfihWSRpUbDLQNI1ab4w4OM1OXGM/BsdKIINZigPtwI1t9jEPVFafUrM/YV1h0Rsujih7REoAC+XtBg7PDKX5KHD/YcMnZbxb+TvRC0Uw5jXjbHnTfFlf8IoWKUtLniEawB9yavJvrC5qQVdcNm4LwzhxJ6GtNGG91Ppik0iu4aYz+Yblt2E0RTvA105X9zSmHsIUOf+ipVDDlOinxqqZWahVMPndOZuBF7lrj3O3LV+s53TLruL3JfhhgUGoxmqkJJ5tN0VhX6Ps/BEs042xQvvn8KA8thHQt61T1W2vp4cd1+s7/y/BGt3NWZZCKiOiJmfXi3szzhzJR/Lq0DzoFLT7+4BShDXjWgm2tB/WJPFkyF0BEbF5an55lre9W0W/6XgxqQ5LOP4BrZ80mpKzMnba+Hp2CDNim9BW1sPuhKXQ4SJaquhVIXyteUtZQIW1LRwdrplL+q6JMxFyYHi/1Ba6D39eTWrWpARvR4OnGJhZj6w99a/KelIqXV45t5Fi3C4c+gy7QRSBeij7uIdfGCJ0imDQgspMqGyU2iqiEfIS0OrG9jCpDc8TEMrD+pfbrL5s2KRdRXb8DdXV X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9a6de3a9-ae3c-4da9-8b63-08dd580e86a6 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Feb 2025 15:42:36.9459 (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: DvYw3HlHQZIiN+/DNPr2qWX8QjsribGNoIHNogUPlL8N/Zj3pNaDVkKSHRiJQhli X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7224 X-Stat-Signature: kb4f8y8pqam8hqqzeusesb8h458brw47 X-Rspamd-Server: rspam11 X-Rspamd-Queue-Id: CFE0C14001C X-Rspam-User: X-HE-Tag: 1740757362-979603 X-HE-Meta: U2FsdGVkX18UdEButJn1dsthblD3o9RELRR49zm7twWKbU3VWO86tb5h4Z3hBM7/zCibZHhJvICMpqYixuKHfCy1aTro1YXapYEg3xIGln9a7wDbyTa+qOUT6xfKit/mjn0r4rKcLMH461LZsbJzG8ITSJN0/U6VRztVDFzk8coLLvHiGOe2lMre9YpvN5VF1pgzN4CFRL6GBnS/11IUAGltN0kuwLGLzHJgnWg8V3Oj1sHHd87Vd1RSj64M3/oKGAYOpXK3QEMWYYAf1jIJ2vSUoBJEl0OqoBfgQmm3N+HvKHhu/3hwNWe4ZZgGUfsh2VeVf9gLyWbSipbBFYaME2XSDvqSgxNawamWVs3nkVeG9vHKe8j8Vhn21GJC+p0eaWWJgqWDUzwIyAqGO7J/GQUtG5zR5WCJ92aLuQsg9rzRRSxq/8cMBIBNI2lpAN49gaBzDg4lAxyn7gG713TbIP4aDBn8X02EKVNTaR0uLQAeGCzAZDSNrwr4CE3wWOQrnjm4sgjvxvXz9Ub3bm62MEVv83rheNsRC/QsDBvqwiTRXzb6bUDmQX1vAZF4vvYx9Ip1jrjFz/zqo2lxsqcodEYf353mtLQE8IvCHjiPbAReHKasBH+isO3r4nr/iRUevLaa7W3mMHfOtGQowVbwcNrZrTyx1spDAUK6paMG12L6+tUASdSMvHGdJhXEGBvTCC82BOe4SZAM9AIC98qgYhk6Rowo29ID/GKxAIFIZMdRWFNvl1KmlveRxidFvImuRejsY8C5VF7AKAr6phKUzwL6mf7WN+7mPh7c7GvTRNTIKJnp9b9aNV9f+6hJ5fWmh3USneDy6We9vEI/NReb+K6/n4e4RZqi31gUzC+puuMYuXUGAGaF5H1NyxOwSA7QKUfz4xn5q3PqSgezuEyKhkYBeOcVBjW8K8KKQBYE91tkwdZ+a8mQV9EuMFXX0EGNCHGzW7taZ0YE+R5sFIx cu5SypmP 13Tlg2MdONtXm5eIw6/jZFCEBanUCyNuMqIU9Wh1HqESBnV3eFS0cKUzEco/2gHjFPOvIlsSTJeheQgyFKS90VlYnxHFJBLhflvukmBTUUYA9szLd7RsREv9nfl/dHygFCcYs0PYN9+joUs4GAt7zbWc0NZEdHom3KTTquEt12kuDnjv7v41IrpdUNdhFQOQgInW5BhcqzofZRKx7p+Zk6OBmIeDlLWFVLciWr6apBJZCgPHPnp8P765Y9WF++x1KoO9dDTUDagOkt7/4DfVSM5Xj+Z48AXk7PtUT2MuwGt17GTGZsCgQSRYGHQ5L3ji6PgfKkXPXji6MU3/YSC5djm/6+Uh351fm60MZZIgYvBqZNgkDkHZCSZK62q2iBDv+UO/DGEJFehf84tNBntdFHNgNLnBmvPFGru5QhMDzP2nM664LmE72kRwnyQ== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: Pagecache uses multi-index entries for large folio, so does shmem. Only swap cache still stores multiple entries for a single large folio. Commit fc346d0a70a1 ("mm: migrate high-order folios in swap cache correctly") fixed swap cache but got shmem wrong by storing multiple entries for a large shmem folio. Fix it by storing a single entry for a shmem folio. Fixes: fc346d0a70a1 ("mm: migrate high-order folios in swap cache correctly") Reported-by: Liu Shixin Closes: https://lore.kernel.org/all/28546fb4-5210-bf75-16d6-43e1f8646080@huawei.com/ Signed-off-by: Zi Yan Reviewed-by: Shivank Garg --- mm/migrate.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/mm/migrate.c b/mm/migrate.c index 365c6daa8d1b..9db26f5527a8 100644 --- a/mm/migrate.c +++ b/mm/migrate.c @@ -44,6 +44,7 @@ #include #include #include +#include #include @@ -524,7 +525,11 @@ static int __folio_migrate_mapping(struct address_space *mapping, folio_set_swapcache(newfolio); newfolio->private = folio_get_private(folio); } - entries = nr; + /* shmem uses high-order entry */ + if (shmem_mapping(mapping)) + entries = 1; + else + entries = nr; } else { VM_BUG_ON_FOLIO(folio_test_swapcache(folio), folio); entries = 1;