From mboxrd@z Thu Jan 1 00:00:00 1970 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 883C2C02182 for ; Tue, 21 Jan 2025 05:01:16 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1BF6F6B007B; Tue, 21 Jan 2025 00:01:16 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 170736B0082; Tue, 21 Jan 2025 00:01:16 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id F052E6B0083; Tue, 21 Jan 2025 00:01:15 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id C8F5A6B007B for ; Tue, 21 Jan 2025 00:01:15 -0500 (EST) Received: from smtpin18.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 5814514071C for ; Tue, 21 Jan 2025 05:01:15 +0000 (UTC) X-FDA: 83030260110.18.9951246 Received: from mx0b-00069f02.pphosted.com (mx0b-00069f02.pphosted.com [205.220.177.32]) by imf17.hostedemail.com (Postfix) with ESMTP id E42C540014 for ; Tue, 21 Jan 2025 05:01:11 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=e393ATeS; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ncfwyHcr; spf=pass (imf17.hostedemail.com: domain of jane.chu@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=jane.chu@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1737435672; 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:in-reply-to:references:references:dkim-signature; bh=UyNzm4FcC8C98D+2Jp/VkKQMTMldbIPBtSjc0NvvkaQ=; b=AMywQoqZL3r3ZbGH/0neX/IEqAT8njKAvmHEsOZdnyDGBC2NCisNmyNYLozWO+Y8d+DkZG 5rltVN5rAeaBVgusoWIj2QE2CLzwpP6qCTs+LRWqDtwxWflURryP/ZV18tgLq3RGK6WbBZ OLJdonzppHMPIkpQ7MQ+jlc4LAQdsCw= ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1737435672; a=rsa-sha256; cv=pass; b=jOjZ8O9enjFYZz0jVpt0vTd5MliegRw9ovhWb43gIOMrC2lmpCpguAILP8EBgExYLhaIsr UBmozmXotMqLhip6CqXFzqDKmaPHB5gVo6ODRy01MCAs6EO63utgxT5P18HNQZ3JTcSDB6 k/pHNgNVPjgjS4ph67+na/f1ivHenPE= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=oracle.com header.s=corp-2023-11-20 header.b=e393ATeS; dkim=pass header.d=oracle.onmicrosoft.com header.s=selector2-oracle-onmicrosoft-com header.b=ncfwyHcr; spf=pass (imf17.hostedemail.com: domain of jane.chu@oracle.com designates 205.220.177.32 as permitted sender) smtp.mailfrom=jane.chu@oracle.com; arc=pass ("microsoft.com:s=arcselector10001:i=1"); dmarc=pass (policy=reject) header.from=oracle.com Received: from pps.filterd (m0246632.ppops.net [127.0.0.1]) by mx0b-00069f02.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 50KGN3KV011922; Tue, 21 Jan 2025 05:01:01 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.com; h=cc :content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= corp-2023-11-20; bh=UyNzm4FcC8C98D+2Jp/VkKQMTMldbIPBtSjc0NvvkaQ=; b= e393ATeST42bWU5tv30PDmGCyvtBtdSh5c+rD37ve6oKtpfdD/tUzqUokEyqMnKo z7VZbeubOiItLY2Jousw/ZjjvEqhI8pX317D2b+bfb1aI2GwF23Ag+pbluLtsvwx DW0MAnITNL2z8GoFiHMT1lVSshSS8+oRV/8o49VD7ZLZ4SWM548qR96YZST+Lsnl fJ5rAsvL/s7WCcEIKOf322VBV34B6Vks2UpRE/QAp5rzVbBRDrmt4CN2aRQwur4h 3N2zaFjl0K1jAFStDLs3jbuVaGOzh65LeiH1gZw/jYkppryhH2G3kaDQTngAnfSy KRZrLZJVFRPZ9hKx11i1Cg== Received: from phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (phxpaimrmta03.appoci.oracle.com [138.1.37.129]) by mx0b-00069f02.pphosted.com (PPS) with ESMTPS id 4485qkvkrc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Jan 2025 05:01:01 +0000 (GMT) Received: from pps.filterd (phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com [127.0.0.1]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (8.18.1.2/8.18.1.2) with ESMTP id 50L3otro030587; Tue, 21 Jan 2025 05:01:00 GMT Received: from nam12-bn8-obe.outbound.protection.outlook.com (mail-bn8nam12lp2174.outbound.protection.outlook.com [104.47.55.174]) by phxpaimrmta03.imrmtpd1.prodappphxaev1.oraclevcn.com (PPS) with ESMTPS id 4491920rhs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 21 Jan 2025 05:01:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=S18qyUSLpwtzRxYFLkTruhpfpLc99E7eQAa0+ZrI7bXLUIZmxcFpk6WmIjkb2CXIhnW1d0K/NupNRet5B3t+daR73bi+0wCTppUdss+R1oCfwxtDGw0ckq7/GBNkKFma6spAICVYA120cIzUOyhpI0X0AkAiXm50fh2s2QCiAISASLLjwGzjsnALA+3e9Isf+oPkmNqAVK/I0jWOJpjNGZIZc2gZDGui66EySgJ0y8/HelP+sc9xqDTeh6pqYP7sHvcOQc6BTdGzLmgpoaUgeC8MJfZ3e26Matmf2RtFrIQ8kXXf1rVF0vusDgjvaRG8ZoyOSi6GQPuzN6mec0yRMw== 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=UyNzm4FcC8C98D+2Jp/VkKQMTMldbIPBtSjc0NvvkaQ=; b=AJeq5ALby5X+0RukVIczbCx2qdjHkz5rsH/3NrFkfxTnJ52I0A40ivNtBAXYtTx95ZQ4XY3V3anjQB3Z9QsaG07aPchcg+Q/cJ423IsQ3+BqgKTqq0DgJAcMaronBYIvka8uprzfJ1PNvb/WXtepezyf7SDxOtClDKOSOofAeUij8zkfzt5ebFE6Mhh0exgTwtT6vsMqXHeqJYcTsEbvtRYgpIpYuaC2whTR3zOf6RjCVh0WyiwEpAkoPBAu8jS/VEBRWo2lsBeMy/IluXc/5GBlTz/TArGUIwaOIiu7m0hpPfeOmhngRopL/LC7/3Ytv5AV+wlCsliYLq0lDDUnWw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=oracle.com; dmarc=pass action=none header.from=oracle.com; dkim=pass header.d=oracle.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oracle.onmicrosoft.com; s=selector2-oracle-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UyNzm4FcC8C98D+2Jp/VkKQMTMldbIPBtSjc0NvvkaQ=; b=ncfwyHcr/K5nDe6s7HgFmOU2YlRRwETcJQojEPZlMVXHQbL2qX5INfGaNK7e8DehAbHpLeBsN1DoTrJuAeWtp6K3h39kMGixeHen3wZTQKRDZqzLszMjF7TXeTCmhbRU4b217gVvfoT1Oq2X5oxEuqAr0qiIFvn/gMYmYFNmHxs= Received: from SA2PR10MB4780.namprd10.prod.outlook.com (2603:10b6:806:118::5) by DM6PR10MB4345.namprd10.prod.outlook.com (2603:10b6:5:21a::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8356.20; Tue, 21 Jan 2025 05:00:58 +0000 Received: from SA2PR10MB4780.namprd10.prod.outlook.com ([fe80::b66:5132:4bd6:3acb]) by SA2PR10MB4780.namprd10.prod.outlook.com ([fe80::b66:5132:4bd6:3acb%7]) with mapi id 15.20.8356.020; Tue, 21 Jan 2025 05:00:57 +0000 Message-ID: <673b0353-ad8c-471b-8670-25d9f06d232b@oracle.com> Date: Mon, 20 Jan 2025 21:00:54 -0800 User-Agent: Mozilla Thunderbird Subject: Re: [RFC PATCH v1 0/2] How HugeTLB handle HWPoison page at truncation To: Jiaqi Yan , David Hildenbrand Cc: nao.horiguchi@gmail.com, linmiaohe@huawei.com, sidhartha.kumar@oracle.com, muchun.song@linux.dev, akpm@linux-foundation.org, osalvador@suse.de, rientjes@google.com, jthoughton@google.com, linux-mm@kvack.org, linux-kernel@vger.kernel.org References: <20250119180608.2132296-1-jiaqiyan@google.com> <6f97f3b6-3e7b-4ff8-8d67-ef972791cccd@redhat.com> Content-Language: en-US From: jane.chu@oracle.com In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: SJ0PR03CA0047.namprd03.prod.outlook.com (2603:10b6:a03:33e::22) To SA2PR10MB4780.namprd10.prod.outlook.com (2603:10b6:806:118::5) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR10MB4780:EE_|DM6PR10MB4345:EE_ X-MS-Office365-Filtering-Correlation-Id: ef798c69-555c-4883-a5a7-08dd39d89790 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|1800799024|7416014|376014; X-Microsoft-Antispam-Message-Info: =?utf-8?B?cTFZdXBYUVdwcGQweTlkR3FFdlZMVFpLL0lpczVqT0gyRVJoNXJtWWF3RzA3?= =?utf-8?B?WG9hclNnZHRSK2RLRjkxMm9RMTZvbVJUc3AxeDB6VGV5ZWRFdGxqSFZES1lr?= =?utf-8?B?NDJPUDg5U0V0cS9nRmYzNWp1MGdZS2FESlBRTjk0Q2QraldqOWxUdTVIa0dh?= =?utf-8?B?aHIzVjdmMDB3QzhhNXRxSU9sT1Nxb2xkMFlSZEgrd2lTOTlzUkdDdmtzUEx2?= =?utf-8?B?VjVHRWo0cEFoOVJkWm5GSFBHakR1NUgrS3graXRtVlZnTm9NcG9UNFBQYXIv?= =?utf-8?B?NjdmSlBOYkJOTytjZStuZjVUWGZJZVlWLzYrVE55clBFVlNEVGtxbDhSOTBJ?= =?utf-8?B?RkdMREZ0UzhCN2c2TkNOeVVzZ1A2cWhhQy9SQ3VNa0lMWEtOd0pTNzl4UkF1?= =?utf-8?B?OVpDSm9QYnBrQ0haMDhoMzUyRGhvdUUvdFVGL1laYWhkWXVSNE1jMTMzM3Iw?= =?utf-8?B?RDNjRitQNGt0elNUVXM0eDBLTkUxSU1vdGJOekI0RGlGZWZ4R3ZIUjl2eU9t?= =?utf-8?B?VmRLL2ZpZFZaSkxCeE5PSFJ5UFVQMUFyVGZFdmkzSUxVV2xrOTFNL2FveFlK?= =?utf-8?B?ZEdZM0JxTElFc2FramhuV0xqN284bFU5UzNQMi9CNFl6elBZWW4rT0tpQVJF?= =?utf-8?B?WnluYTN5d1Z5UXpZOFZ6OXpNRk40ZEIwYVNjb1Vpbld0Tm51dkFDZzNIMjZo?= =?utf-8?B?VHJaKzlSTmVZdE5hYjRLODhORkFjWHAwQ1ZoVjZJRHJqTTNEMkM0dDNJdDE4?= =?utf-8?B?dCtWR3NZTTNhZDEvU0lMZ3lmdFFpdGtNYkxvWTZBWnpHR3lJT1FIMXBPVEFC?= =?utf-8?B?b1RYNS9sMFVxUUtRdi9tSSsvZko0S0dvYSs1VkY3amM4azc3dTlwNVN0d0hM?= =?utf-8?B?UzJVbWRFeWdXVmFTa2NncEUxNjhkMk9mbVVsWlA0bjBtMUJqaDZGV3ExTFEy?= =?utf-8?B?dzZRdC96RkNSMnAwdmUrZWJhK0hyN2RGYk1iMTR0TDE5YmEzL2p0aytnd1RE?= =?utf-8?B?R0lkbXZBdFBlOWFoRFNnd1lhd1ExVStDcUdzNExVUUFLaVlxTE1pMU43b0x1?= =?utf-8?B?cVlkU0Rwek1BNjBWMFFXRlNYYVdGUW9uNFNrQi9Sci9CUWplRFBOdTZua3Rm?= =?utf-8?B?ekdicitnblFuaEdKYXRSVDZKamZ0c2I3c2owdk45ejR1NkVTd3p0Q1ExL3NM?= =?utf-8?B?UlRDZGoxTG0yTkNiYzAxcnNxUVhKS1ByWlVqRHhlQzZCSnU4N3FvaDBGNG9Q?= =?utf-8?B?TDFEY1NKQ2J3QmxHTEVZY2lGTkZQVk9Lc1FKSWlBS3ZtcU9DNnhUek1nWkN6?= =?utf-8?B?Nk02aWxranNSUElmVUVGejdvMVFKSWJEQll0TTNnSDJOZWJrZjF1STZhZ2FO?= =?utf-8?B?NzY3bmVQOTZ2T3ZjVU0yUHlqWWNiWGVyTklxdXEvUU1zRVZvdjk4T1ZYNFov?= =?utf-8?B?MzU0Z0sxSFlpZ2FZTllpM2dWdHE5NkQ0WEtERnBET2VVTUNkTnpYTjEyeDg4?= =?utf-8?B?L3Z3VnZnZ3V6cWpPY0k2Q1NWa0xyWUJpbGFrVXd1TUxadFZzV1lvZm83OXZ6?= =?utf-8?B?QzZVc0pEc2hVa0ErZjNSOHhLS2xVaXdyd0tlajdSZzlQZUdudTVJamgvQlVq?= =?utf-8?B?UmExQVFIRjF3ZWxkdTVneFlQU2E3VWp5VHZyQWhUVi94TDVTWDd0ZE9oT2lE?= =?utf-8?B?NDFDYnFBUzBIVTArRmVnN05PNTlka0x6bVk0Y3VGL0E2ZE82K3BSZ1V2K0pU?= =?utf-8?B?ZTk5SEFoOThiWHAzaWhkaWxRaFhqczQzK2szWXdncmJsZFpXWFVEeFprYkhw?= =?utf-8?B?ckg5TDloU1ZNVmhMcGdjbmJNU3EwWUZFWjF3YllQaHJtR01BYzJHeTlmTkxk?= =?utf-8?Q?DFKEY8tOeHsCZ?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SA2PR10MB4780.namprd10.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(7416014)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?KzJSSnM2U3lzMjZnVTJBdTdNK09ENXNCbFFYZFdmZUdDS2JnelFtV1BSN2NN?= =?utf-8?B?TFRpMmNRRURCd2ZoZWxxOGg3MDh3dGFrZzlBTERYTXhpQ0ZJSXVMNGx0eU11?= =?utf-8?B?ajduSC8xZFI0c1pDYnI3bkxnb0pOd0UzNStidlFYTFp5TkpXQmtOaW9qcE4v?= =?utf-8?B?MmxQR3l6Q0JIVTEvOWJwUDgyaVQzSTNTcFBxc0lLNDI0ODNUVFhHNEVyMzds?= =?utf-8?B?UWNUSVphMXpPQXk0M1h0SDJTKyt6SlhPNTdRNWxnYys0SlNCOU52ZXNtMEhn?= =?utf-8?B?bnlTTUhVc0ltZnBGSFdoRFc0M3d2M2N5T09QR2lnZGpTTkExd1RjUWdDdlNH?= =?utf-8?B?dmtsaWJ5ajdROVQwL1B5TmVneGZwS3dhYTF6RjJwSlpzU25lU0YzUXZ3dlZi?= =?utf-8?B?OUUvVlhHMVltNFhQQTg4KzBNN3Z3UDNVWE4yUDhPWFB4RmhXNUptQ3M1YXJt?= =?utf-8?B?cTh1YzFLRTE4eWxjblQyaEpMNjZPZFJZaFNETElTSUdSbnQrYWoxQjViMklk?= =?utf-8?B?OVNpd1ZPeGxOOCs0UmZOemJjZkNQY09QYnNDOW5OV21PUnRWWlVzdlhwcUZz?= =?utf-8?B?SGhxQ09ETitpTExua0pxV3N2TFZZYi9Fa1JoaVI0QitCL3FwMnFUdUtDRnhn?= =?utf-8?B?MHRpODRmaHQvMEo5NEgrU3BZTzFEMTZzMm1CL3paaUFac1kxcFczVDYvZjZ5?= =?utf-8?B?OE5RZWdCcTB5THdjYUx3b3hUMXZPRlo4cUJNdEZBWFdXdjQxSGF2WlVXVWN6?= =?utf-8?B?Q3A2VnRWT3drTUFsUU9jTEs5MTcwaDhuWE5aMHF5NDVLWkxyRlFaVmx6LzZY?= =?utf-8?B?dEZDdkFkL0NLNVpVRElWRWY5WWdXQkVQRzRzWU50SlNsWk9zSzI4bkJhQ2J2?= =?utf-8?B?bnJrdDVRVEJib21Ya0JKcEJGL2RwSWREb3dpTlBZR0p5a1JHd0hvMmR5N1Ru?= =?utf-8?B?ZTlqdnZOZzJoVzh2d3BidUhoK0dLcFloQWtwQUN6dUowSytsQllWQ1ZRSk94?= =?utf-8?B?RFJhbkNJSjBNcUdnZW5EMG41c3kyeW9TNENNZWlPcW10R2xaMXNyZDFuNDFF?= =?utf-8?B?K0lEekxvMjFHa2NsU245dmZUMDZidTlpTVEwRWFzTVNHRXdEQnU5NFZJVXB2?= =?utf-8?B?Mjg4OWpLNFcwRDRIWE9tb3Z5cmZUOStDaXhlS2RtMWJYamtnZUYraWh2N0lw?= =?utf-8?B?aTArbHgzcUdSZ0dQZjRzRk0wRVo3Y3RqYzN6dmxJVzV1clNVSVBiby9aRFJs?= =?utf-8?B?WlliTDRTdm03cTZYTUJPZW9rRGZVenZuaVdQS3RzcWRoK3N1UEkzZXJHMXhN?= =?utf-8?B?MXdubXcrVGN2Z1F6TERUaTdKT0loTDdLZXhRMmNsOTI4eTgwbjRQdm5YYkZ2?= =?utf-8?B?K3NtbEJocS9wMklOSWpEUys0RkZqSmxoRWVsb2prdi80K2VxN0NLZWlEblRp?= =?utf-8?B?NkozVm5qc1VwZlAyVnZ5aitkYWtYU3gyTkpOVHRyV285WGFQdkFSbWRjNGI4?= =?utf-8?B?VG4vNjVBZDF4K2NRZG5qdXBHVUoxMkxMNkJIUS8yWUI3TWQyQjJsWTRUWnRH?= =?utf-8?B?WlgyNnFuYVV5bUJKWVFkb0dWYi9FZjU2Mm5QSHFQcTBHQWlGVjhqaTlFWWJO?= =?utf-8?B?cURDZXNDUXNwdGJoaXlNMFU5bitBS1dHRmVYdnFseE52SjY4ZUVIL21QV3BR?= =?utf-8?B?blptNGZ4SFZMbVhPcmRjZlgxSmxGTWx6bjF3L2ozN3p0Qk1SYTlpYldzbW55?= =?utf-8?B?YlVXMzJRdnk1eFN2b3g1R01JdjRxUS9BQnlXSUVHM29aa0NacE1rZVk3TE1H?= =?utf-8?B?empRUGpDZlVndkJEelVQRkxSNnkySWlKOGZKVTBoa2M0bHhRU0lZL3pQcGEr?= =?utf-8?B?MFZReVM3OEZYZzZ0alZrZW1YK2FpM2NxektMNjNNell3a0o4Q0dzQkdiT0Z5?= =?utf-8?B?SjJnYUtMSWtqeVd5em9FNFNNTHJndEZjQWZLKzltME5GM0J2cTF6MFNnUnk1?= =?utf-8?B?SExPRlJMRzQyZEoxZHZDNE0wZTFPYjNRQ3BJdVBzcC9XbmhxVlloZDl1bHFh?= =?utf-8?B?RitjUlpqalFRaGJvb3VydGFYTTVQOFF1bmd2cTYwMVdGazFnbld5S3J6VVlq?= =?utf-8?Q?RToEmbzGdpGpv0lqJ5Nr4ohub?= X-MS-Exchange-AntiSpam-ExternalHop-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-ExternalHop-MessageData-0: ardeb+QdF5rqq5bDbLsA2aFPRlDR0oYzzcOSG2sz+9HkemCDBCnsokRAHzoOx1t7ACEo7Yv+EmU/SRuiaTqYofxXv8pwuTEVYq+0eawMck5iUrvO6SdKwShh1Qj0+TCB0jcQxXx47hrUK/covlmMD59lrX6r4QD3BfexNz6L8fiyn+Vw0ohhOuS+QpxpjGWJ5ztuIZytvehjmYpWqQ8x568f8B5o0JxVmz9eegjN1F6chBTK1GrCGUnwWaueCk/LHnHn/3Raucbsj9Ox7dGD/Al8ZUnK0+yrdUlKNhm7WgNugDA9s7Exk/uPWKRle0XKYdghfaxznSV+q3wcj7OZTeveY+carvbAauNzftr5p2m1WK76KXeP1EQRmVhfm854HhYpL+EXZ5BSVhJFzicPB4hqeKUIwpdZTnKQU/nU3gZ3Zvj/2KyRefRdjuhVAItnTr8yVfX05tRWluRYPS7nDnbW4wkroVavn3ZU1FloL1sDNOQ40IPPsJ9+l+IE9cuk4adlR3OgzlyFCD+aMJE9YHGPvYJWhl+PInh43i5lPzIT2pYTDVqnIsiVV1grCAwXW6oxltiTqFz8Ck7IYwxNXst/HOtKLbSvDlsCpZPDMpA= X-OriginatorOrg: oracle.com X-MS-Exchange-CrossTenant-Network-Message-Id: ef798c69-555c-4883-a5a7-08dd39d89790 X-MS-Exchange-CrossTenant-AuthSource: SA2PR10MB4780.namprd10.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Jan 2025 05:00:57.6676 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 4e2c6054-71cb-48f1-bd6c-3a9705aca71b X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 6FWvCDwDg4b/V1+MM/cinCfdMewRrKPJLWbptVRLMAXQhkERwjoT89x0+OkygJqmVLtfwYHB2qrApzjf6LV3Lw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR10MB4345 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1057,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-01-21_02,2025-01-20_03,2024-11-22_01 X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 mlxlogscore=999 malwarescore=0 adultscore=0 suspectscore=0 mlxscore=0 spamscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2411120000 definitions=main-2501210039 X-Proofpoint-GUID: -7EMirwfzDSH2bGiz3XK9GoazZSV-pgQ X-Proofpoint-ORIG-GUID: -7EMirwfzDSH2bGiz3XK9GoazZSV-pgQ X-Rspamd-Queue-Id: E42C540014 X-Stat-Signature: gzarbekf6qrns7huieqm671jdcp9i95k X-Rspam-User: X-Rspamd-Server: rspam12 X-HE-Tag: 1737435671-134221 X-HE-Meta: U2FsdGVkX1/+uhe0id4eeZ7Dl6ZothaJVPTatidZmzS4fy1R2E4oDxy8XhjJ/k6dF8n9FFs5Egu4KUxFpeXSlXXomt66mQDdpbLZOld5o/BbM1ewDveXZ4QoSDP2MiZBG+J+DzuQwE9bKNhJCpi7oPlIt11n8HYzbMISujI8nE6eO0xjGyBMAkDXwcki0S+RiJS0LgorN0sTzJd8lfeowU5pzmZfVUIBt3SBKBwbVByfqRv78KkCZ/CKlS3o/noQPhenoxv1sij288nzb9m4XFGclFPc/mQRgnVyxrbeaI9av5vK0jYgCwPhdfHTgybS7EUM4gMGCInA6jI3b9KOLcPVcJFmuvPYB5IGBY3KUR8IQy1NNfbP+UgEE0C20cvodRKVjY7oP2ILfaUZ7kj0r+DRA9i5vYU5Uk1HDSP27PxwTElF4TjzM7kMjcueWrcdoDiZupbKPhdizQX6uERs17BWVEgOu/1pGR+6SG9QaGNWtucT2hjyhmrlcRp2dF20dIG4g4lBg+jKL18k13fkpXco/3ANmf1eRU8Pr1pxhovl4coT6TzVCGNbag8urj2nI5X+PDpzTU3u4k+nB5vRoWRcAWwcp33FakmS/zHzaR0jElmq+i/hWsdLVXe2adAzcHUdCdrHf47qabCZzl0R+9bO6B+gDsZ9vJbGCyWlSUzEZBZuJecujNQe+q2T7q5Kvej/okW5NFV47C/iGb/oZK+TWjtyyhKAMws/XZDZueNUslcm8G0qBU1Y+8OVuv+3/utdcCs6BoCc7is8bbCFmFShr9JWw8P3cilmp6/7Mc4WqivxpJmyua+TH3BWCNz5pbTWtM5zZgNmGfDgX1kNYWaIaSi9+Y+V+dr3nYAWVtRDyrVTk7rLGTtTK+SOOVsqtCtAPGTuobZdBrT49wdDfMbIrsjS8iFbC+pvypNiyp1LVpUi4VBkUVRw2rt3murzhw9RB89BY8CwzW0nWyS iNAsciQG wvNAsk4d9z+cTOvXHBg0XFE/JKFJ+ww2DILmNavf6NOS3Zl7gI9FeEGzYE2jm2bPf9B/MHXMtnXFZIF4mst42Nj5eSWWO/r4ZwQgXogErLCKpSqCvxyonZsoP3cdv5lfFvOJErODMraxvVUP5tlU9hdjDhKVanic2wEmvFg2M+IFxVOXGMmbnYO8ftoOJrWZ5n52vukqlNXwUe592y7W75ctyat+3MKT9Opb+4N4uIVnVNwtDFCu/lGvFdy9GwJjP5PKvPd5VRxgT4wwBt6dbuAzY4YhRAt2/DPo4osFkEBMC4GFa0QbOLPknZ7jARM7uL49TAasuWl40ZIRPwHfMsSnVwfuz0dIJ2eXc26vgcOIo+DB+nkXdfq4colOnZVGidt2qCmp6uImttGgSK8rNbOH/nwN3pT2HOS5Djo+0TuW+K1YvR6kCGfsHTWj/kZ5wf0/EKnIssccFX+wAq5R5IW7lpZiN5UH4TmgqnnH8YywgRNXoziYRFSq1F0xmk+YV0TqmbQYVH0mV04ZTLInfs1VSQPetAqSZx6Dad7miKWHLtZpsaykvirA7NiaCoTIYxa9R+bixJurEf1+fyju1WNCCQnvLDFDX8Hs+Y4QntLUygFQYwHIAdE+4zR0xgcG7rbAh+Fa0Wnfgdal9RuY3fxrKBpZAHO8UVDeV9hTVOLR5WkZNFdMeomNOvmIVV44/1CIJnAHWgCW5KHY= 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: On 1/20/2025 5:21 PM, Jiaqi Yan wrote: > On Mon, Jan 20, 2025 at 2:59 AM David Hildenbrand wrote: >> On 19.01.25 19:06, Jiaqi Yan wrote: >>> While I was working on userspace MFR via memfd [1], I spend some time to >>> understand what current kernel does when a HugeTLB-backing memfd is >>> truncated. My expectation is, if there is a HWPoison HugeTLB folio >>> mapped via the memfd to userspace, it will be unmapped right away but >>> still be kept in page cache [2]; however when the memfd is truncated to >>> zero or after the memfd is closed, kernel should dissolve the HWPoison >>> folio in the page cache, and free only the clean raw pages to buddy >>> allocator, excluding the poisoned raw page. >>> >>> So I wrote a hugetlb-mfr-base.c selftest and expect >>> 0. say nr_hugepages initially is 64 as system configuration. >>> 1. after MADV_HWPOISON, nr_hugepages should still be 64 as we kept even >>> HWPoison huge folio in page cache. free_hugepages should be >>> nr_hugepages minus whatever the amount in use. >>> 2. after truncated memfd to zero, nr_hugepages should reduced to 63 as >>> kernel dissolved and freed the HWPoison huge folio. free_hugepages >>> should also be 63. >>> >>> However, when testing at the head of mm-stable commit 2877a83e4a0a >>> ("mm/hugetlb: use folio->lru int demote_free_hugetlb_folios()"), I found >>> although free_hugepages is reduced to 63, nr_hugepages is not reduced >>> and stay at 64. >>> >>> Is my expectation outdated? Or is this some kind of bug? >>> >>> I assume this is a bug and then digged a little bit more. It seems there >>> are two issues, or two things I don't really understand. >>> >>> 1. During try_memory_failure_hugetlb, we should increased the target >>> in-use folio's refcount via get_hwpoison_hugetlb_folio. However, >>> until the end of try_memory_failure_hugetlb, this refcout is not put. >>> I can make sense of this given we keep in-use huge folio in page >>> cache. >> Isn't the general rule that hwpoisoned folios have a raised refcount >> such that they won't get freed + reused? At least that's how the buddy >> deals with them, and I suspect also hugetlb? > Thanks, David. > > I see, so it is expected that the _entire_ huge folio will always have > at least a refcount of 1, even when the folio can become "free". > > For *free* huge folio, try_memory_failure_hugetlb dissolves it and > frees the clean pages (a lot) to the buddy allocator. This made me > think the same thing will happen for *in-use* huge folio _eventually_ > (i.e. somehow the refcount due to HWPoison can be put). I feel this is > a little bit unfortunate for the clean pages, but if it is what it is, > that's fair as it is not a bug. Agreed with David.  For *in use* hugetlb pages, including unused shmget pages, hugetlb shouldn't dissvolve the page, not until an explicit freeing action is taken like RMID and echo 0 > nr_hugepages. -jane > >>> [ 1069.320976] page: refcount:1 mapcount:0 mapping:0000000000000000 index:0x0 pfn:0x2780000 >>> [ 1069.320978] head: order:18 mapcount:0 entire_mapcount:0 nr_pages_mapped:0 pincount:0 >>> [ 1069.320980] flags: 0x400000000100044(referenced|head|hwpoison|node=0|zone=1) >>> [ 1069.320982] page_type: f4(hugetlb) >>> [ 1069.320984] raw: 0400000000100044 ffffffff8760bbc8 ffffffff8760bbc8 0000000000000000 >>> [ 1069.320985] raw: 0000000000000000 0000000000000000 00000001f4000000 0000000000000000 >>> [ 1069.320987] head: 0400000000100044 ffffffff8760bbc8 ffffffff8760bbc8 0000000000000000 >>> [ 1069.320988] head: 0000000000000000 0000000000000000 00000001f4000000 0000000000000000 >>> [ 1069.320990] head: 0400000000000012 ffffdd53de000001 ffffffffffffffff 0000000000000000 >>> [ 1069.320991] head: 0000000000040000 0000000000000000 00000000ffffffff 0000000000000000 >>> [ 1069.320992] page dumped because: track hwpoison folio's ref >>> >>> 2. Even if folio's refcount do drop to zero and we get into >>> free_huge_folio, it is not clear to me which part of free_huge_folio >>> is handling the case that folio is HWPoison. In my test what I >>> observed is that evantually the folio is enqueue_hugetlb_folio()-ed. >> How would we get a refcount of 0 if we assume the raised refcount on a >> hwpoisoned hugetlb folio? >> >> I'm probably missing something: are you saying that you can trigger a >> hwpoisoned hugetlb folio to get reallocated again, in upstream code? > No, I think it is just my misunderstanding. From what you said, the > expectation of HWPoison hugetlb folio is just it won't get reallocated > again, which is true. > > My (wrong) expectation is, in addition to the "won't reallocated > again" part, some (large) portion of the huge folio will be freed to > the buddy allocator. On the other hand, is it something worth having / > improving? (1G - some_single_digit * 4KB) seems to be valuable to the > system, though they are all 4K. #1 and #2 above are then what needs to > be done if the improvement is worth chasing. > >> >> -- >> Cheers, >> >> David / dhildenb >>