From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11012014.outbound.protection.outlook.com [52.101.43.14]) (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 C9B452D8DD1 for ; Thu, 20 Nov 2025 15:01:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.43.14 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763650867; cv=fail; b=Z69PJa8dBNHz8HubeimxXVqiJngQW3Cco89jtxB8PsnZVoHn+ostWoc8wlapm6Nsxsx56f6tlaUWEX+Vk169uu0CruqodGGStCgOpHCELA+D4xhVwMR0rxcvdf6EAbkCq32lswcqgjYQpSIT2wRgohNcrG2xG5UGj5bIq5bfWiA= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763650867; c=relaxed/simple; bh=rf8apAUSD1uIz7cDKj0YbLfHGBWwG2Yw0+59saMl1wI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=EV4Ymf9C0UWNwVzt/jKzRZDxYvyF7MihSpH34AMG6svYtint9VJfHUFimFxJcGLaLY9zbamUJUhfm/FATJUwv4G0T3zMCjwirxg0/ncLrDbTFcRWUA476w+zDATiWyS2BgYGuVzfN7ZJJYwyLNa342NWgElauuotoVIm0FOChD4= 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=cJKK+qSi; arc=fail smtp.client-ip=52.101.43.14 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="cJKK+qSi" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RfDGJ5OHxKHz9vUtubf29cTWzzAqVphc8XAT/mgfapCKy1p1pjbvWffKAw4NHvRpQ69zRogRDx8xeGmXKfQ4ckDzgyKMWVyVv2AWS3/50aAZ7UR4r40FxutgUoouMZWiDrIo1YhtxcxIq/RLnw+ofOUw6vMfHvIkztFNI0UHZIt6DZ6ja+9lFVM900+qFU3H4yswsON4bQ/c+MKZkkOLGCDIhcHEfgb3alRMr2eLvPmtrCPjdFIeunoH7QlGczxtnJpSCqg1F95QvcR9sR5MpEt85yxr0YSEtnkGn8FGM8NpaviOlDGmA9FaiTABGKGJh1N3bGVO9T8lqowbShvk+g== 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=vjdz1xBRiW5GN2fSky6bNaPjbqx1FljVmmCUSqbeWXE=; b=yP/sV3NIiGnQiSFA/aOVBq2flN8i496yKAGeA3zRyzMcnViBfmMlz+iE7ImMeC9m9UYtbfGg8Sd2XGsso2kXsBypNTi6C4jkIX7d8xjDSA0JHeks0ku3TnEu66CRxs4MxNV7tfriTFHYRjJRtrjka1RolHUxrrhbwvCPR/iFJbzcb5uwpzhqL1wNIviX+2KWuR8x3NMGrhC+6GWC0MHhWyxr3MxKvpYqjmVifTdMa1CTP2bvoZ77nnMmpRFgfGCVRbBHplQ22L01GNxRSKVLPGIdGGlqW8Oh7UEIxKUamy2UWrR53igxgVVEts2groies+u4eTuDN4e0k0p3qZqOGA== 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=vjdz1xBRiW5GN2fSky6bNaPjbqx1FljVmmCUSqbeWXE=; b=cJKK+qSiQ1g6dmRcIxoZwfMcuYQiFoxPJIpxb/xgxDRNkORRJvHHS9NVQXDw/aIVmXJJsQDMKu2abfTXP+JY4x1y/RKKdDvK7m40o3oEGUJVM+2v+OeIZWzw+FocV2vJlAbOHY/HVSA/Gbc18WtKsWc9Je5DUgn1IK61nN4eO+3l5X+DHi8nrrhadNPiB+LPvGgvSpsK7i+jDuRrBAi1T9FYjtRbcWlt/0U5jFIHSfHpgltZPDRwN8J6F5nY6gT7V5+ZKc+22Nsx74j7+SH63hIJ44wsYO6xyyfwIeMWIPcL6sEaIpygujF6SKd9i4DqlV5MCq/HGqYXPnpWv5xRbQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; Received: from DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) by CH2PR12MB4119.namprd12.prod.outlook.com (2603:10b6:610:aa::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9343.11; Thu, 20 Nov 2025 15:00:58 +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.9343.011; Thu, 20 Nov 2025 15:00:58 +0000 From: Zi Yan To: Balbir Singh Cc: David Hildenbrand , Lorenzo Stoakes , Andrew Morton , Baolin Wang , "Liam R. Howlett" , Nico Pache , Ryan Roberts , Dev Jain , Barry Song , Lance Yang , Miaohe Lin , Naoya Horiguchi , linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [RFC PATCH 3/3] mm/memory-failure: handle min_order_for_split() error code properly Date: Thu, 20 Nov 2025 10:00:55 -0500 X-Mailer: MailMate (2.0r6290) Message-ID: <86CBD3DE-2245-4C79-BDA3-4977548898E3@nvidia.com> In-Reply-To: References: <20251120035953.1115736-1-ziy@nvidia.com> <20251120035953.1115736-4-ziy@nvidia.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-ClientProxiedBy: MN2PR11CA0012.namprd11.prod.outlook.com (2603:10b6:208:23b::17) To DS7PR12MB9473.namprd12.prod.outlook.com (2603:10b6:8:252::5) 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: DS7PR12MB9473:EE_|CH2PR12MB4119:EE_ X-MS-Office365-Filtering-Correlation-Id: fd56df45-a2e0-4e87-020a-08de28459caf X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?Nlgxb0hIRU1wQVA5eHVwOFpmeG9FUmVmdi9oQ2FnVGcwK3pyenk0eHo3TkZJ?= =?utf-8?B?ZEE0TzVTampSeUVQWTM1MGN1MXAvOW1mU0FtVy9kRis2cjdDYjZ0QkpVd3Ra?= =?utf-8?B?d1MzRWpPdmZUdndlV052d25OamFWTjB5d0puWXNEZTV3K0lsWFp2TjRFNjdD?= =?utf-8?B?TWVXQ2NMOTJzM0ppTEJweVlsWlFqSXpic1Q5V085VUppRFd2TjhEeUZDK2NP?= =?utf-8?B?dEhObHg2cmd3TkR1bUdLWDRWWU53S0xlYmVYTDlSWTMvNWxBVzI0VGhhakJz?= =?utf-8?B?eUdBM0RObkZsVWpCREFicXNZQTI1d3REYitNNW9BREJ0NHJmenZ3M1BnU0hN?= =?utf-8?B?bFNDRVhjOHRqU0RwK0V1NDR6YnRZazBGZnM4V3hyZFJCRXVTcVFKZFRBUmdn?= =?utf-8?B?VXNqaG9ka1kzd2N6U1hXZytFZElMUW5yemNLcWR5TlJDYzBCanRTVE03eExy?= =?utf-8?B?eDRmUUVLYzNKdzE3YWQyRlc3eW56NEdsVTVMaU5LMXZSR2htc3RzNW9iVE5N?= =?utf-8?B?b0dVRnllNS9nSktwZ1NEMGlZTG1TdmNHSzJpZ1o1eFJaTWhEVG5vNndvZVVK?= =?utf-8?B?a3NMUVhUd1MreG5QRDNUSFV1aGM2VlJSY0tORCs0ZzhUSzNXaXl2bEJLV2oy?= =?utf-8?B?cnBZblI1d1N5SEw5MndvYlNQb0NTQXg3SWZIeHQxY1B4enhybldWZENhTkRs?= =?utf-8?B?UTlOL2pBeDNaaCtneHk3MTFZNW5ISlVBU3E4MWczdDZlb0RIOFQxTjZEbmV0?= =?utf-8?B?ZGMxS0o0bWt6amhOZE9VOG9aNHVBRC9UYWpndDYxTHhxS0pYb2pPRHlhMVJ3?= =?utf-8?B?Z2NCTng4TE1qTkxlRm9tVGJ0UFVFWlNBQ0xnbk50TmplQ3lZV3Ewdi9lRjNI?= =?utf-8?B?c1E1dkxMdHd0SlNFcEI1SVdoUEg4UUZ0UTA2VzhLeHh0T3pFdFNFdFFjZ2V6?= =?utf-8?B?SG5aOHVxeTVnSEJhTzV0ODBETkZTL1ozaldocnVYUmN6L05GdnZKdGhscU9C?= =?utf-8?B?ZFRSdklGY2g1OVlqbnpzVzREQkJyWG9MLzMvTzZVRTV0U0RRY0NBSFZWVzJj?= =?utf-8?B?b1BPRW9wRlZyaXY1Q2I5TFppdDdpZTM2ZE84bHB4amh5QVUxU1pDNnZ5V0RQ?= =?utf-8?B?TFJjYUMrUDhKRW5mZ1JSaVEvSmlYSkZRbUt0SHpHcHNDTmkxTjlHTEdPUnBa?= =?utf-8?B?OGRZNXIreUJoVlNDc3l6YmNJb0VQaDF3YXhGNGtvcUxQcmZ3eis3cEhpWG1X?= =?utf-8?B?RXlrWEpqcjJZbHlqYmRTaFBMM1RQTERsYWt1VHduWXJEc0NwN2ZDQ09BeWFF?= =?utf-8?B?OVFPUCsyam95OTNHeU4ra0JVMkdiK0Q4NFExa3MvTEZ5bVhWaXFjK05PeW1Q?= =?utf-8?B?OUJ3cjFmR3BVYlNpTW1RUTcvR0R6Y2o0TTJNWFE2RFhrRFlHRncrWlF0K3k5?= =?utf-8?B?OTdGU3NNS2hPQ3pZN3JyNzlFUTR4VVYrcS8zcldsUTUwaHpBWkVZbGwxZ2Zr?= =?utf-8?B?c2VWU3JKRmJOckkyd1FhbGVMaklESXYwbkJyMndLVzI4a3FSQUxRUTY3QXpU?= =?utf-8?B?OUJPSkYxaUZIdUxyZmI3UjJNZDgzak9OcEIyeDFzZHU1MmNBNEVYUCtoSTZT?= =?utf-8?B?VmpJbTQwMk1mWkxLeVUyZEg4R1Z3ZU4vcnBwLytlTFJxeTZFcEVETCt0Znli?= =?utf-8?B?TlIySllUWXpSRE12Vlh5WFJKSjhGU0xhUkFLcXRpWEkwWnI5bVBCK1VaZE1i?= =?utf-8?B?MDdVN2FnQmt0NnlhOEtpMDY2cVJrYS8vN25OMWJFUU5LZzNkYUlZZ1FaYksw?= =?utf-8?B?QjUxVzJ0Ym9BRmhTSmkrN2haT2FNQnV2dURka1hweU4vcVcxL2o2d2tWS0U3?= =?utf-8?B?VXhTU0t1dUt6c1NqckRRMDY2QmllZHUyYkVkRTVtSEJoKzBnSEI1TjM0ZkFi?= =?utf-8?Q?uOYBUgMuQAeox7Rv2276sc1UF9KRDfBo?= 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?WGRxM08xeDlwUXBSWnZCUlJ3M21uZVJ4T0FMTTA1dkF1YTZVdDZrTElReUZT?= =?utf-8?B?aURkS1ZzaVZmMUdUY1ExR2xWcitoTU5zVktVd0Z4VklUYmdJVlYvUWl4UFRn?= =?utf-8?B?dC84YndMc3Zaa3VLdDU2TXNqcXFpWGxRSS9US3dDTkUycVAvTTFYRW1UQkF6?= =?utf-8?B?Vno4ZmdadStoeVMrbVVGN0p5SzJWRVBCR2tKcW5WZGtYSDJtaHIrL2k2RVdR?= =?utf-8?B?YUkyM1IrZExrTjBjQThGeG1NdEhNTGtsd01oWEtTNjcyMEcyRnZET29uNU81?= =?utf-8?B?M21GcVluOUVCUVFsR0dZREZGNHpHT1B3MHNLQm9HZXhNZERJV1hpRWFERXlF?= =?utf-8?B?TXl6N3pmQ1Y5Ri8zRHYyd2ZPeW1uVGNDQXV1UHJDeGlVenRTNmRkdTVFbkJW?= =?utf-8?B?ZEc3SXFMVnJLTnJaTGU1cEtIUkRYdjFuUnVqeUpERjVnck5RS1NQeVZMNHdw?= =?utf-8?B?T2liRTk2SDFReWZ5aEZtZklJSEFLOXR6LzFzVVJ0VzFoOVlwZFcrVVRxVUFZ?= =?utf-8?B?Wmd2UzduZm9XbUI5eTlPQU9zeGdZWjhOWWRRaVFZYTFmZkt4ckt2Wkk1c3Er?= =?utf-8?B?dHNVblZ4ZEdHa2FxTlRlLzU0bkc1WDhEYWo4WHRaQ1JLWnhDNkpEc2UrZEpU?= =?utf-8?B?WkVkNWpMSFF0WGp1Zk80ZGUxVXFLcDJqWnpqZjUrVllrVWhLM2w3TzBZUGpG?= =?utf-8?B?bGJaUW1tMzhmTGVPNVNSME9leGFBU3ZXbWVKL1JXTHoxWkovSU1BMkRjNVp5?= =?utf-8?B?dUVpTmNJeXY5SUxDSlRtNmtaMmx0ZVVCMW5UOUpjVlpJQXdzUThZbXZMLyt5?= =?utf-8?B?YWVXc2haRGVOQ2Z6MkJ4NU5Layt2SEFhbzlJZ2pYb1V3d2pia3kzbEFUbVUw?= =?utf-8?B?akNqa1ppaWFicWhJbW1ka0lQU2pIU0orZEo3QWtvWUM2M3d6SGlzTWdnNlo4?= =?utf-8?B?Vks2aVI3T0gybENLV0pIYTVyWUl3MUcyWjRuMVRiRmQ4c3JTTTNZVTBzZ0hv?= =?utf-8?B?eWRScFp1WlFwZmxLQ0lZdDJBc3ZVK0xhS2U4WGQ0bXBMbEJMamw3c0dCZ1c3?= =?utf-8?B?M2RwNFpZUlN2S2VTaXhqOXRlSUVQa0VHQXdzVkVWVjZOTDRheUZqZUkyeHVB?= =?utf-8?B?VEp3M2RSenJEQm55RGl4cmhtdURIVVlTT0g3WmRBZDdvMU9ZSmdlcUszTUxR?= =?utf-8?B?WE5FTkpKNmtEWWJTK2d1T3JUa3d2dnZubTFDamxVS0IxeHgyeTU4ajBxVTRi?= =?utf-8?B?TjB0WHVyc2VlMm1GQ09WWXFSTDUxMktpazBxMURNUG80b0JFSWQrSFZ0MGxw?= =?utf-8?B?SUlkblQ2RmwwZjFhbGgrTDAyOEFZRzhCQnBEbDUveWJjY0tVWFFKVFVOQW42?= =?utf-8?B?enNIcjdSNUc4SXkzRWJYNjNUVmRNZjE2emh2bE9SUkZNK2VVdU9WM2ZNUGhw?= =?utf-8?B?b2tjOFlWMlIwM1pQYlVuek0zRzdsZG9RT3ZaZ0VJMGtoaTdXT2x4Wk04R29w?= =?utf-8?B?M1BBd2ZwZGFoMnlPWEUrc2JwSHJiV2IxQjhkbCtrMUF5cC9pUGo2dHM3R1B6?= =?utf-8?B?MEdBZVJGN3pGaFZrdm83Y3J0YnREVVFndEhxYUNoUU1HdXhjTHllamhTeDJJ?= =?utf-8?B?b3dLWHE3M3lEcHRWL0NIMXR6eEo1d0dYMU56TnkyR202QjVUY1VJNG0vc2M3?= =?utf-8?B?V2Fxdyt2aUtadGhZS28yU3RkdkoxZjhjQnpmaTN4UFRQVXVDSFR5SkUvbWJS?= =?utf-8?B?c084a1FMb013OUxkcDkyT29ncERNWCsvYlh0bW04ZkNJZ1UzSERTSStRMGUr?= =?utf-8?B?V1kxTnIxK29KUW1XRHk5QjZnQVpOMW80S2NvSlVvQnlnSzVOUzRMOWZXOFo0?= =?utf-8?B?SWFqUVRZcFp5dGIvWnlzUVJWNHNHanZTSEJoRDlnMy9Fei9ZY2l3eUdvQ3dM?= =?utf-8?B?Vnk2MkNSRmgxekhJS0xUYXFPMkpia3h5bUp5aHlTNVowdmhzd25GUjBqbFlx?= =?utf-8?B?cmltYzdVa0gxWXd4bjAreVlBMm5Vc3RCRzZrUURnZEc4d2xnWVNUc2JRYmhW?= =?utf-8?B?NFd2UG1Lb2xJeUhnV05CZ0Z5Q2lkdlkyL1psUVBBY3NudnlkdFcrT01WWDVR?= =?utf-8?Q?z8KmBgt3FK0RmDSpaeSz/DSN/?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: fd56df45-a2e0-4e87-020a-08de28459caf X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Nov 2025 15:00:58.0939 (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: jbWES2B7x3DVGzfcmEAOkTh65+OA5LYdRu5jkXdTHGJqi3rNUcYyaE2qoCAJe3tT X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4119 On 19 Nov 2025, at 23:45, Balbir Singh wrote: > On 11/20/25 14:59, Zi Yan wrote: >> min_order_for_split() returns -EBUSY when the folio is truncated and cannot >> be split. In commit 77008e1b2ef7 ("mm/huge_memory: do not change >> split_huge_page*() target order silently"), memory_failure() does not >> handle it and pass -EBUSY to try_to_split_thp_page() directly. >> try_to_split_thp_page() returns -EINVAL since -EBUSY becomes 0xfffffff0 as >> new_order is unsigned int in __folio_split() and this large new_order is >> rejected as an invalid input. The code does not cause a bug. >> soft_offline_in_use_page() also uses min_order_for_split() but it always >> passes 0 as new_order for split. >> >> Handle it properly by checking min_order_for_split() return value and not >> calling try_to_split_thp_page() if the value is negative. Add a comment >> in soft_offline_in_use_page() to clarify the possible negative new_order >> value. >> >> Signed-off-by: Zi Yan >> --- >> mm/memory-failure.c | 8 ++++++-- >> 1 file changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/mm/memory-failure.c b/mm/memory-failure.c >> index 7f908ad795ad..86582f030159 100644 >> --- a/mm/memory-failure.c >> +++ b/mm/memory-failure.c >> @@ -2437,8 +2437,11 @@ int memory_failure(unsigned long pfn, int flags) >> * or unhandlable page. The refcount is bumped iff the >> * page is a valid handlable page. >> */ >> - folio_set_has_hwpoisoned(folio); >> - err = try_to_split_thp_page(p, new_order, /* release= */ false); >> + if (new_order >= 0) { >> + folio_set_has_hwpoisoned(folio); > > if new_order < 0, do we skip setting hwpoisioned bit on the folio? The bit should be set. Anyway, I am going to take David’s approach to change min_order_for_split(). Thanks. > >> + err = try_to_split_thp_page(p, new_order, /* release= */ false); >> + } else >> + err = new_order; >> /* >> * If splitting a folio to order-0 fails, kill the process. >> * Split the folio regardless to minimize unusable pages. >> @@ -2779,6 +2782,7 @@ static int soft_offline_in_use_page(struct page *page) >> /* >> * If new_order (target split order) is not 0, do not split the >> * folio at all to retain the still accessible large folio. >> + * new_order can be -EBUSY, meaning the folio cannot be split. >> * NOTE: if minimizing the number of soft offline pages is >> * preferred, split it to non-zero new_order like it is done in >> * memory_failure(). > > Balbir Best Regards, Yan, Zi