From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SN4PR0501CU005.outbound.protection.outlook.com (mail-southcentralusazon11011055.outbound.protection.outlook.com [40.93.194.55]) (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 ED4862848A7 for ; Sat, 8 Aug 2026 18:54:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.93.194.55 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786215245; cv=fail; b=qkFucbmtAr4L0E+Tu5PwsWUZs/zs1+mWGp1YCByVY3lEvTArU8X8FDoct2mWH2HkdnAfukCu6jK0/G1FwgUWsDzSQOTrn1HsuvWvakD02cDOUcrGS0W6intTB4UPkkTkFiDc7+adnB82qO8pGLmHBzKk7uXjfiEXYHj1F2o8b+g= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1786215245; c=relaxed/simple; bh=zBqSLQ9EGERG79RlR9lDOLqffmLpepjQBcH9eruO1ro=; h=Content-Type:Date:Message-Id:From:Subject:Cc:To:References: In-Reply-To:MIME-Version; b=UBoHGLdEfqQLDjz/I8DOB8tWmI/t4hfqQjP5z30ethS59C67R3TyUTN27SGH1boywYgB9kXLIRG0AsRDq3flHUiCj54mDE1vs4ig28p5pr++fCs0K83fQY6WyKboqC6Cx5t51lgVkIBIbpftXlqo3Ahxox/TkrOqasZNBkCvhYw= 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=AsoJCWeD; arc=fail smtp.client-ip=40.93.194.55 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="AsoJCWeD" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=yscwGKQsxIoafavNe7/FdmDrh7mz5pM0j4RnpJ6xh8YPhxXs43yAMtLr8rWCOPO20cE/2odCqjesvbX0tu00/YBtGY8UVZcZ8Nf5QsvW36ygxjTbqHufT4J06biG8Oiw865wPi+FWMngRmxV1FLQUX3GQIcYB9THIT7y+yBFnhnAHXbzHhpdcX3vGaZKdJmt0AZLx6mAOybjtaGNwH5DCofPWEVbO/6LmugoLsMceoVPabQlnU48mFLTLitt3ah2vFXIqP9aT33VbBpRNqiwxe4zTlff9mpWKlhZUTTYtPWtkk7XCwA3IwoeFgb1kOUIKvbBskhFQ8iCWD7aZxcN5g== 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=zBqSLQ9EGERG79RlR9lDOLqffmLpepjQBcH9eruO1ro=; b=awnSY4rTMLIcrp0itvG16UodhVlXUlej4v4z6UkkxuLIo0L2rbJQQ/YCmG3z+3rBlKWQQ0FMU2s57zf3WNmVausfxGqRD6QHoEO0qStKSdNokMhIW2JV8+P17L5pAl5TxpMwgVsf4Dlg6erEbfYRzz+RJm9ycuvmGU8jOHd7/I5IqyhXZ+ffRbEQnMuWENlcsE5IrufLtI95dS6slXB4IVUuLvsQCWnKiuiUFZnHbdxp+LMFcJNXOIxxPQDxlrDYqdPu4LHMdXZ1bSdLqRJXZ0cbWlcNDuQtaGftCsL93XOD5X9qerYsjTKVYCaYJY2mUgV4kZXnPAxmQbs1jOv+0A== 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=zBqSLQ9EGERG79RlR9lDOLqffmLpepjQBcH9eruO1ro=; b=AsoJCWeDSNyxfpbkvQ/0xC1i6b2T/tXpfRRCxoqaQkQLYBpZJ3P3ZtM4o95Vy4KfAOnR3wh0CX2VbOLs448B1K7gVeP9ysISYP2uo5Jw4Al2KeXJTIoZGwf3Fpn3X+ESmDBoE56JQwJwDVgaxuj/6mv0KrvJJUwFQEO8s+r1i2ZQ1TkdItFCuNTCpveW7sS4PX2oKSYCXJyateMXYno1sm5jm1/d0ZptFRWTWnIXJAd19268pCXMGbyJDduCE5Q5M1bx30AN0a+SSRPEtvTHUPsQH4Q9o+XuukNsvRDnrJmhubwY828/8jGEkXt5zJoUXptB9z3ten4Lu3grPrks3Q== 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 IA0PR12MB8982.namprd12.prod.outlook.com (2603:10b6:208:481::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.292.19; Sat, 8 Aug 2026 18:54:00 +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.0292.024; Sat, 8 Aug 2026 18:54:00 +0000 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=UTF-8 Date: Sat, 08 Aug 2026 14:53:58 -0400 Message-Id: From: "Zi Yan" Subject: Re: [PATCH RFC 02/13] mm/huge_memory: fix rejection of swap cache folios with a mapping Cc: , , "Andrew Morton" , "David Hildenbrand" , "Lorenzo Stoakes" , "Baolin Wang" , "Liam R. Howlett" , "Nico Pache" , "Ryan Roberts" , "Dev Jain" , "Lance Yang" , "Usama Arif" , "Vlastimil Babka" , "Mike Rapoport" , "Suren Baghdasaryan" , "Michal Hocko" , "Chris Li" , "Kemeng Shi" , "Nhat Pham" , "Baoquan He" , "Barry Song" , "Youngjun Park" To: "Kairui Song" X-Mailer: aerc 0.21.0 References: <20260808-swap-thp-cleanup-v1-0-689939a7ccc3@tencent.com> <20260808-swap-thp-cleanup-v1-2-689939a7ccc3@tencent.com> In-Reply-To: X-ClientProxiedBy: MN2PR08CA0022.namprd08.prod.outlook.com (2603:10b6:208:239::27) 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_|IA0PR12MB8982:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a417843-a4a1-4fa6-3dd8-08def57e685d X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014|7416014|23010399003|22082099003|4143699003|11063799006|56012099006|18002099003|6133799003|10067099003; X-Microsoft-Antispam-Message-Info: WnaKoicvaD3khUIC0VpJrrwC/G63PT31B7SVt5S/MqUznOYS3nq/J28lSLUPHurESix5UgazoxP1W8EzlZLCnLc/Vq+5YTUmfU+tKdOw4MBdT2YUTcQ0XuNCIzbApBaAUNpZyy+6iMxHR7Z/F+7lk/r0SjqFx2i0E+kwgzqsU+FpBW4vk0dLG6F/BJDHa46GP1jCWcZcqHN29+H3Wz6g8rjUyfTX9WcPg5/ELn+lXqpwoEhwnIr4SsloHQcA+ZpTlAwiv9eWGScweRgwJSGp7AXjesi+cintsx6u8AtAzcLCOelNc/TEB9zPs0esFCWb8d9HK49ZUfzEVRCpJ3/q7o2kBX6izXyrpq9AJjEKuQ4rzkoGXNanLLpS/MQ80aL7Dvtq76Df5w9HjG/6PiASwubHe/r4YahXy0yjtVC/Xe47UxzRu2veWLml6PG43to6A0xd2D3YW2rvpvl8wWzGCAm5JWuQOS8BgbTduY+5ONiNXp5PKgE0Rbhqx4a5WaeSbcyBTEQSrjl9eP9i+xffu80Y7fWsfBnKOYx/akvSnBv2ijLr4WjTPYvrlv3+6mOWe+nK6LTcjDsUV8tHHAk/k8LbCfPALmQm+x5Yevfgayl7bjqyQfTySVtWYFyC3mUYhd/eIyURApOMlXeoLADZp5jKXfvmdPlw23Hxhizg4ik= 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)(366016)(376014)(7416014)(23010399003)(22082099003)(4143699003)(11063799006)(56012099006)(18002099003)(6133799003)(10067099003);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?K1lkNG9OUXJCS0FFckE2V2pqOWpydUwwYlI2d3VDbmpteHNFclc3elBWZ0Nt?= =?utf-8?B?OEdiT0VPS09ESnU3aDh3UXZVM3h3SjJnLzhTWkdtOEpsRjlVSDhWNzJlNzZF?= =?utf-8?B?YnNqMnVESXUrd25ZNGE0UnYzMlNmLzROSFQ0Z09qNE5yT1JtaG41WVNwcW03?= =?utf-8?B?WS9LT2ZhaUxGRHNnTkp2N0lkRlR4bmJ0Um5YYVNCVWoxRjRzdWk1Y0toNGdM?= =?utf-8?B?cDJrcTFVb0F5T0c3T0N5ZHdwRTVrbEVtMEZNMWtjSVN5b2JBaXk4WStrbEVm?= =?utf-8?B?ZlRlZ1hSMGlaSS81RTVpY1pPVW1xUGxmQ0JkTEhnOG5kMEVtWE9LaGx5RWJB?= =?utf-8?B?bERRbGorUEFBUk1ycHZEamVjUnpYREhwS0xoaUxWcW9sNmpkSlpxV2xBSTNi?= =?utf-8?B?amJYbHJNUG1BdTJrYW1oV3NBSThodXZkVzhIcisvYXI3S0hINDh3YVBhSEw3?= =?utf-8?B?Y01tZ1VrbncxUUYybXVVMnVzTENWUEQyUFhxQ1lhTnY4Q1FnTmM0d0RWbmpn?= =?utf-8?B?VmhQcUJSME43a1lYSE1RZzBqNmVzekJ4V0RNQVhTM3pOQ1JXSEpROVE0MVlI?= =?utf-8?B?OTNwa2Z4RiticzZWL3ptVkthckRZMTh6N2pXN2d0dWg2eGk4ZVpEaGZ2bkNv?= =?utf-8?B?QXZPMzR5MjZUSm5QdlFBVXZhZjY1MFVuKzVTZHJ0NGpDTnZJUWQ1RHErbjZ5?= =?utf-8?B?WXdPRnVWYUljS1ZsVFJ5R2x1Z0FndFo3ZTh1YkVWMnkzQVJvQUpKUXRXMUwx?= =?utf-8?B?RmtORDJ5RnV1a2lGSHVBUTRaUmVsZDV4VEp0Mnhrd3dManYxV2YvVlNtSTZF?= =?utf-8?B?RlhqbWJoOUhXK0R6WVl2QUYyMDVRL09CandjOTNRbWVZZXg4OWVldXUvMmor?= =?utf-8?B?d2cybVRCVjdKTHZuRGthYk54bUsrRkc4ZHZFc2dQUzYyMkt6bTk5Y2dwa0xQ?= =?utf-8?B?N1hlZWZzWXBwSXBRZFRQZGt6L2JxOXJNa2xTNUdUcjdIc09GVFFyTGcrZkNp?= =?utf-8?B?RWNNNzhHb3ROSFVLT2xqTldEcm9VMGpXM1B6ak5OaERsdlVxUit1cXNEaUMv?= =?utf-8?B?blEwM0ZLT1VaUGFtZ0x0Wjg0UW5BeldPeHdaR0xlNWMzZ1l3OXdWZGh3cVIz?= =?utf-8?B?ZEQ2V256alJncWpobWYveXU4djlKOHkrUVBWVmttbXRxOG9LL3RsUE43cEUr?= =?utf-8?B?TTN0MCs2KzhRSWZndXFvTHVmRHp4aXA2OE1ROUdNREhvVkhjeWtjUnVYTXlF?= =?utf-8?B?YkJIUTFlUU5WK010ZmlMNTZPa1NXNnNNSnJ2M2tob2MyRDNodW1yQ3BsQXJ3?= =?utf-8?B?V1c2Ukk1d3p0RXlqR3hKNnhXMjVMNURBRnl1RzRWcVdyMFQxNG5UUkQrWTdW?= =?utf-8?B?WGJBY04wZEl1MFFjbnRnQVhiZ0huM1NjektzSkZtc3FRU3ZzcEIwOEc3cmZk?= =?utf-8?B?WS9MNjRwK2xNUjZrenl2QjJMY3BoeWQraUpjbS80MnJXTXRrMlJ0WGtOejN5?= =?utf-8?B?ejNqTHhOL1lvZEMzSnVOa0EzbzdkV1NkWDk5VG1CaG5CVGxNRjZDR240M3VD?= =?utf-8?B?L3VKRG1GTGI1c2tYSlFSUkxrV08yb2k5dENyUmJ4ZG1mYnhnaVU2Q1AvRmpj?= =?utf-8?B?VU9vTUZrMk5jNFNEdVhORjBaS0NGL1dpWnlXWEpldzNXMk9yby9EMHl6L2My?= =?utf-8?B?YTdSTUh2V2ZDMW5odU1CQzAxM3dYYTJVc1dCR1JJTVRrcm9IekJ3U2hsL3kv?= =?utf-8?B?bjVqcHpLY051cEJjMHgxeGV5WjgyNzQ0T2UvTm5FYnduT2VsSkMvSDNQN0Nk?= =?utf-8?B?byt2S1VxbkVFSDlFMW4wWXU3cW0rRmNLc3pMN2J0am5kWjdFMzJBc01JK2h0?= =?utf-8?B?K2lLV25udCs2cnpCSEJJbHB4NFV1U1prSC9hOVFFVjdIdEVxbUxaVWE1UlZh?= =?utf-8?B?b1QzRUM4ZEZ6YVYxa29TSDZZTkp5YnRYV2tSclFyT1BROHUrdm5pbE4vS2c3?= =?utf-8?B?ZVUyaXZmbk9IQTdVclZicWhudDNrYU0yL0kvTnFPNGRCbGFwYVJTOWh4c1VK?= =?utf-8?B?R1dYWExjSWpReURSeU1TRmliR2hjU2xKQXNUN1JDU3lwWEZheFZCUGY2NzY4?= =?utf-8?B?MmVnQnZzSHRXZDluZE9od3VhS0RzcFlnMmd4a25TMnlzT0Z2RnVoVTRsbTA5?= =?utf-8?B?S3VsckpCQ2NWa1BpYnMyMnRLNzg5RmRhYkhkVnpENjNHRUQwaW83NmljUlli?= =?utf-8?B?VTlDUXBVVDNOSXI2RXpTcUlkOGpRdTN2Q2ZHREFTc2VSYi9xcnVYWlhtNW9t?= =?utf-8?Q?nLBOeMcglEAYXnI7Hr?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a417843-a4a1-4fa6-3dd8-08def57e685d X-MS-Exchange-CrossTenant-AuthSource: IA0PR12MB8374.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 08 Aug 2026 18:54:00.0303 (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: FJxCWy89OW/Clr60HmA8lyfegrrrtHfxhzVQazIJUwJwYmcviudxoHDlh/AArdOb X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB8982 On Sat Aug 8, 2026 at 2:14 PM EDT, Kairui Song wrote: > On Sun, Aug 9, 2026 at 2:02=E2=80=AFAM Zi Yan wrote: >> >> On Fri Aug 7, 2026 at 5:17 PM EDT, Kairui Song via B4 Relay wrote: >> > From: Kairui Song >> > >> > A folio in the swap cache cannot be split if it has a mapping (shmem). >> > The split code only checks for this in __folio_freeze_and_split_unmapp= ed, >> > after the folio ref has been frozen and the NR_SHMEM_THPS/NR_FILE_THPS >> > counters have been decremented, and returns -EINVAL without unfreezing >> > the folio or restoring the counters. That error path is fragile: if it >> > is ever taken, the folio is left frozen and stuck, the counters are >> > skewed, and the VM_WARN_ON_ONCE_FOLIO would fire for a state that is >> > actually legitimate. >> > >> > Check for this case up front in folio_check_splittable and return >> > -EINVAL before any state is modified. Under DEBUG_VM, the existing >> > "Tried to split an unsplittable folio" warning in __folio_split >> > reports the rejection. >> >> Should we return -EBUSY instead? -EINVAL means the caller should not >> split a swapcache shmem with a mapping and the caller needs to avoid >> that. The Fixes tag tells me a caller can split a swapcache shmem with a >> mapping, so with -EINVAL, we will want to add checks at callers to avoid >> it from happening. >> > > I can drop the Fixes tags. I meant that there is already some If it can happen, we want to fix it. > defensive code that trying to catch it and return -EINVAL, however, > that defensive code itself is flawed. If this situation occurs due to > a bug or future misuse, the flawed code will causes the folio to get > stuck in a frozen state. The defensive code should at least not make > things worse. > > Fortunately I think no one needs to split a hybrid shmem swap cache > folio, returning -EINVAL here may help catch any potential future > misuse. Sounds reasonable to me. --=20 Best Regards, Yan, Zi