From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from DM5PR21CU001.outbound.protection.outlook.com (mail-centralusazon11011016.outbound.protection.outlook.com [52.101.62.16]) (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 0C499322DD6 for ; Wed, 4 Feb 2026 20:46:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=52.101.62.16 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770237961; cv=fail; b=r8VgM+/m/jwSjmsl55X1dDkSs3nxzjHyFTYy2t5p++RjMwChQAnTqpZ4hDMe4JlrMPBqhOQyKdMl0CYcARDUI/4S+IhgrJ1cfQEKwJz3rbZ7+fHypK6iFJfIC/2msZgYqfOXEw35xrNll1WNvf0C/+VQwqIlz5B0JdnN+amc0xo= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770237961; c=relaxed/simple; bh=nLLGZngAGW3lTudk6h2fflK0Imd9T+6Lcp60Yz0zxaM=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: Content-Type:MIME-Version; b=ZwOZc0n8I7lO0j9pjOcWw88pPyJ2ZYRZ62we3Xvb0SoaLv+aTbUDhmmJR2Cuhc4qLI4okY2R0koQ/hUnGWPUbHIc8itTaf5WC1LaEvVSahgNUaSvMQzgRBDv3W3tKBZhuXFP3KR6tBTyaCvc9zj/vELhtgHMEPTbz63gfzXxwAE= 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=r7XK4f3B; arc=fail smtp.client-ip=52.101.62.16 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="r7XK4f3B" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lpXgnqzJD3iyxOkNfK9XcnMsA0Yb8Lv2BMkovCZCoGJeVyVDJ5dQPpSMGq85fkoBCtr+YU1MS0qHc6lf4t4bDbNANDA+x+E5dh0fPtcoSaCM0mjP6Hm5BnHCGCJtNJiUus1zIy1nnMuiIE/3Ng+rMLLXmXc19ybxVWLYC5/e/7GPJwtV55kEC5cH9Qwiw3vjd+BK4RVYPEZdN/HkOYWFtsD3M18H8DGNZ47V/Bm0P/CpsLjq++FmaYACUqIkCMUATbSk1AnOODVFd4GY1j/Y/b1tNbGD013lvZfueENwQgmLEXTTq51LeGAfbGnknDE8INc1HObvIWEpPF94mJZSWw== 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=nLLGZngAGW3lTudk6h2fflK0Imd9T+6Lcp60Yz0zxaM=; b=VDZusYVrsGv+7LntI1L6D7UD89UJWnNMv3RPt3RDTtkt/ffIRcIVbcIYIm0ukBnCI5bKBhWqBHSG82K4VW3OwnKznSSspUj3JRvbwaJ57NYcUZkSCkmExgpTiLdHPn1/ygazuVDZ5lhGVSHR03NouKo+wY6KmRTgichvSOsEjMrW3FJoMM1hNeg3EWuuu3Tzkv+w0B1AEHwIikrqv4DXDAfNTFSyoIUZEn5QolANVEQffSKRLdyzdifS1MkY4tgaVUJZNLShkKB1WTXmIjoxKn8eU4hnVSp5JyxzjUn9Edi1/jEc2Hs0sbrdKh9SUAJQzlZGXSeDEYY8bSqN3TyTHQ== 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=nLLGZngAGW3lTudk6h2fflK0Imd9T+6Lcp60Yz0zxaM=; b=r7XK4f3BXiRkQn4Xm4YWl9deAsUc4g4YYzGKAxjvYFUsRBPDXpciVlOWaMqx1lnPip9ZiHnwiCADSwASaEPUXHsax04FtntB7psT5ppZZT1+kJjn0OOgcn7bTzBo8BJxeXU4PNmIJKjqA9SI2vN4ynxisBRnnoalq1gsO5Wp3y4ZZb3nYdeyFPWmfnp16QJjwAJzQUACN4QMJGXYsMlAl0dVjth6Z1j2P6cpQ62LCQMEs+HkWRwqhW/ZQUr4ljNGfP1lQh7fHIgT15ZbaWn5AqPlUk/W4eKqO4q0bw1U7zsu2cBHKjgGv8hXviz7B/F9ySWeaLU011nYh/LiXoDtRQ== 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 DS0PR12MB8575.namprd12.prod.outlook.com (2603:10b6:8:164::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9587.13; Wed, 4 Feb 2026 20:45:55 +0000 Received: from DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2]) by DS7PR12MB9473.namprd12.prod.outlook.com ([fe80::f01d:73d2:2dda:c7b2%4]) with mapi id 15.20.9587.013; Wed, 4 Feb 2026 20:45:54 +0000 From: Zi Yan To: "David Hildenbrand (arm)" Cc: =?utf-8?b?5piv5Y+C5beu?= , linux-mm@kvack.org, linmiaohe@huawei.com, akpm@linux-foundation.org, linux-kernel@vger.kernel.org, Matthew Wilcox Subject: Re: WARNING in memory_failure() at include/linux/huge_mm.h:635 triggered Date: Wed, 04 Feb 2026 15:45:51 -0500 X-Mailer: MailMate (2.0r6290) Message-ID: <0BBB65F0-7ED4-40DE-9949-761326993D7D@nvidia.com> In-Reply-To: <7bb98650-cb7a-4230-8868-7da2aab5923a@kernel.org> References: <1db245a8-f9ab-42e4-8cc6-cc7562961921@kernel.org> <48978612-6933-4897-85DD-6740B6C8570B@nvidia.com> <25CA4D90-A24E-49C6-92D2-08080EC81466@nvidia.com> <032058DC-CD8D-406A-B986-740E41C834B2@nvidia.com> <9E046323-740A-434A-8B60-B8A32D0955C0@nvidia.com> <11399c99-f966-47be-bbb4-a7d4e79c8c38@kernel.org> <86002E57-58EB-4940-A7F0-7AE4A60484DF@nvidia.com> <7bb98650-cb7a-4230-8868-7da2aab5923a@kernel.org> Content-Type: text/plain Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR06CA0004.namprd06.prod.outlook.com (2603:10b6:a03:d4::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_|DS0PR12MB8575:EE_ X-MS-Office365-Filtering-Correlation-Id: 0e388983-2833-4a90-870e-08de642e6452 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?EtddxDjAlTtfJs1ngYqcXNT3Ezu/wbVi3BPNrKOFvwN/sFu7XCJ65m+vwsIg?= =?us-ascii?Q?wJxI6Aj181Rj7iTQMUoLryNNts7wIJQJYsR3PMAjABKrK3vmqnEPK9UQB90s?= =?us-ascii?Q?VBn8yQsgMghq4bMoF9fkpF+tFy6/TcYveqOrBg0B7Em8GrtBQl3IEPS4qSgD?= =?us-ascii?Q?Xkqk1228+xywvT320/OsbmzEwM+/5MCPVeem8Wn45zhqiCEL0wxkOJoLODe9?= =?us-ascii?Q?rohi1FrJ17/CoJh6L1UOdB3iW2QzaadOzaIxzoDCU8G0DoL2GRf5MqIPo4LK?= =?us-ascii?Q?0egP96pAJhaq9XJk76wfikejqBP8igRz3GAJmPnftMxmwDyfMSF2rgRpnJAd?= =?us-ascii?Q?br85FEhXcdZqtTZjFxI5tlusbif9dzSR9lG4yQuuLvqM4rUN/apF0DVbY3fH?= =?us-ascii?Q?TBh9AXuyqMxoFVa80ksFmRejyyhh+0g6iFfHDz5V9j8KofJTWOyF46j66yyE?= =?us-ascii?Q?6TtgJ+QOcwm8P8HKNZ1V5d7v1bdQRilqoqFGqmwFDlTK5LPxb3AwMLOvOJjK?= =?us-ascii?Q?XEnZsWT4TbPtMHgsAbcophDht21hQG61WmSONerEo8MXD0YAePOmcvwKaPSz?= =?us-ascii?Q?wSHfl/nHQKFdQbRLbIv8luMDzE79H88hPRmx4JBSh9UPSsF2oWZc5f7I46iI?= =?us-ascii?Q?Csw+oRxitNv/jwSWNfsgVcvVntbrxqguNL7HJyeWrMNNMfN/LKAscO8cCoK2?= =?us-ascii?Q?y47SQyHGnp7PQiJ+zscTUtJIbNvQGczbq9U+cBGm/PL0cJEEfsAEEL1LkpAf?= =?us-ascii?Q?WROpwgdNPwLkpI1pc5HZCHSp5eaKDLrboPCl98s5h1zZLSYZyhComjx2R5gM?= =?us-ascii?Q?Whpr/O0QxnFU41DPPOS8wyOCOvSREeLzMFjeF7Mywz8VUsozjfC6HDsqH4Z2?= =?us-ascii?Q?b7QcAJRWhYN4IpUH2CApysvPdljSY8lq+7mTUq3iQKnVpC42VdxvSKnQodME?= =?us-ascii?Q?rTJCaQ2+8WgxZI4WGXYNFxqmZRdGrExqP5PQrxT9gD8aIdlZp7qbQwNYj5PU?= =?us-ascii?Q?TTWIMHkrs9heU7jNGzjEi+DbKOKLnd7rSOeVQbENs02CP55h5a0oKbqIuGso?= =?us-ascii?Q?orj4jY6IQrx0xSqJucp7RRYeN5LQFqBPIjD6odVKdhA2IPetIXG2/+bVnh0E?= =?us-ascii?Q?X0oWsqltN+i3z++UD+G03Io/iZiLrOKCSp99CRuiFTDd+r2tzZLOmm8u/h+G?= =?us-ascii?Q?q7E8dQaHvmP5f+Omh4ycNENc4W69B/JzDrQxzQ1iQTxKzpYk807JjDH3cp7D?= =?us-ascii?Q?Z5k1VIGVYIScafwb0KiJ5ZHt1K9dFCVPiUq+zlL3JaZfgAmNsr2ystnEsy2G?= =?us-ascii?Q?nVpoc+/hvll0aJ9eW75jn4HV6jOMk8e3u1jsY43LG6nYH+jjqtjKJhwZbUdl?= =?us-ascii?Q?+EZvbWjDsC+VrRQ9K9nliVT61OZJRCQ9iAJhJuPBKPaBOHihDxkF1CXbIaSH?= =?us-ascii?Q?Fxr9TbCoGUSnX5JLFrOHQBHYdBPUe6vETTjVxfNaCVGoMYkhP1zibTzkjJ16?= =?us-ascii?Q?dZHVGFta11hIfu33Brgtj9m8BwXwB/IyAicLaJyvSfQY3oVCU2kAloeKGsxM?= =?us-ascii?Q?xwYsdLkeySVO9gTAQLqIjTp10ir7U9fhm8Pt3lBH?= 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)(376014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?6+nAQ0643cgkVPQirnrHsIE8rCEN909c4qLwV4Su1X6eeLmOLRGILQZC//R8?= =?us-ascii?Q?GramfSwPOySX7mWPQ5tVTxMTVALxKBoLOC4yoquJaRo5jg81ZowgWqTC8uvf?= =?us-ascii?Q?z9RE+UNX0VL5a+QsADBDgtYEnlytP7v6D011MvQXdM9AkaLKhFgyutpA6s7d?= =?us-ascii?Q?sbzIDk/HQYr+ZcQvqok5VotiiXh5WgIMeLqZicOThRB6P0PNDX0epjfRdlLv?= =?us-ascii?Q?K0dAyb8/ERGS4wSNFdgJkNzXiu/jp5at1u3oE51HpMEdQulNoJrujTykCybU?= =?us-ascii?Q?KAxacREFdRtt+RcBEKlEkbuEMKuo0qbCcADJ/MxifLMv8guND3cZA7OeQKSe?= =?us-ascii?Q?xYap+lVFBZyDeRfTnz9iN3qliFpXYTOxjN0ruro/4SR4enlGQsWemKmj0Ujd?= =?us-ascii?Q?OoOSAR11cmz7eQQ5PfvOfag0q9oz3wqLyghwUfBvCvDOe3BB4+Zh4IHbYH3G?= =?us-ascii?Q?9GWjxfUchn5GwnkQmne7dL+Yize30N7hy/nG4ziCGNwKHIZ1jy0/1sD4vDhb?= =?us-ascii?Q?Tj297ml3r8kwzUAQmHHXSTPQHOqS+kYIBGBfGlPuoUJVgugQ1SaR5yP9s3rK?= =?us-ascii?Q?OhQ7bANecLgGpV7VK49NG93hB+3pebh/BS/C3llM7ZbELHd45q/16DqeLouI?= =?us-ascii?Q?VP9WJTVsp5IZ2uxLiqLUyaFELJXwj79h2pPaUjGmfAInLs1XQnB2UrdRa09N?= =?us-ascii?Q?vHJhsHAjZUOZ/g8t7sVJpft7OYXiKNrAR9q13rzKi8R1F/Ahbg1qbU7vA8PK?= =?us-ascii?Q?YQnk0OfhAJ+UQ9xyDYehYWMBWjhQDITI8Ra9skIUsddy7qRIeSlTWX8aib1r?= =?us-ascii?Q?8Ee8y1U8E5tOD3lVvegIhvtB8vhMuquMWTCTh9a+g2ykVtiJjiILTBNFj5zJ?= =?us-ascii?Q?F0zYsE1UkhYYKEhJYXobN92BTS6k0KeWnRKViSG1HoYnlECHqjouxZTWDxOA?= =?us-ascii?Q?yETL+Zi2D9YLmhnA3S84xJAsNz7cNHSTwzj8kci5O+qS/VBwOFPZeUGSXgrG?= =?us-ascii?Q?iGeFTsRTB5YVY8N/hJMENGJre91ECMIsFA+YxNCCt7z/lSAAfM0nG9ruFrFQ?= =?us-ascii?Q?XQb0i7WXR3HHZOBYH6Cl7AeoC1WyX/THcHjbvhIg8UmMJb+O2DUEuGEdQn39?= =?us-ascii?Q?GWkxDIbhFpDNZQLtWGcLikPHfekUuht2eY7E6Lirhr1HHZux79Qozt2WWaUT?= =?us-ascii?Q?THwOdSGQkvn447Yd32nhSF2pZCxirzQJDCqPhn8w81rWjyqVUe+7q0GOJVph?= =?us-ascii?Q?CX+s2eBpD4JzvQrTZdlAdzND1R2OTYpxFqOHM9N68Yx0VZ6c2RhQbngS5fRT?= =?us-ascii?Q?TQlWNYj8QSW1u1eoIVdrLPj8v3FKEYHn0yPyMz0isZxTbBmR8WF516AZLsjQ?= =?us-ascii?Q?3vBVOfRjYaT6/ZYAclzESIuOL4p9yKpZjhBEjS3YxkQYJVUtyTOI0HioaYtg?= =?us-ascii?Q?WstQRRsHpMgNzCsA9jAqfNAbCnlZmJEUgc1WmpajnTsw2DJNznyN4jyW+t/g?= =?us-ascii?Q?Yh6ANqS0zbxaQ8eVTaQ1F+yul4PT1Kvplrf9aRTS/u6qqouab6HF4QLBMRFV?= =?us-ascii?Q?j7u+sTVksgYYo5fgzYanxKOc7+flJIQuCi/gWiblOVxM39ldpj4S66Sg7ml8?= =?us-ascii?Q?m4AumfzZLd3fPeEzR457R6QqYLkeNz+FWAnqoWTZlOQZnwYs9XbgjOcqihmd?= =?us-ascii?Q?DjGfXcBRYQCzKDT0AP2auqcoDabn6yT0EirR8/lvzcoCt/IHWc9LQH4Il8r1?= =?us-ascii?Q?OC6Speue9w=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0e388983-2833-4a90-870e-08de642e6452 X-MS-Exchange-CrossTenant-AuthSource: DS7PR12MB9473.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Feb 2026 20:45:54.9262 (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: FM8kXURISqz07uNN1MB6dAKjqdRJZpsw0zGuEBhwf3zLs4No4pEak5snMv1I7hI+ X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB8575 On 4 Feb 2026, at 15:31, David Hildenbrand (arm) wrote: > On 2/4/26 21:13, Zi Yan wrote: >> On 4 Feb 2026, at 14:55, David Hildenbrand (arm) wrote: >> >>> On 2/4/26 20:48, Zi Yan wrote: >>>> >>>> >>>> What do you mean? Changing memory failure code to only handle large_= rmappable? >>>> large_rmappable is a folio flag, memory failure code should see such= >>> >>> Did you mean "should not" ? :) >> >> Yes. >> >>> >>>> non-folio but compound things to begin with, IMHO. >>> >>> I would say that we could right now reject in memory failure code any= compound pages that do not have PG_large_rmappable set. >>> >>> I have the faint recollection that we don't set PG_large_rmappable on= hugetlb folios yet, so they have to identified as well. >> >> Right. My patchset[1] is trying to add it, since hugetlb is used as a = folio >> in most places and large_rmappable is a folio flag. >> >> >> [1] https://lore.kernel.org/all/20260130034818.472804-1-ziy@nvidia.com= / > > Still on my todo list :) Sure. Wait for your input there. :) > >>>> >>>> I think we need to be able to tell between raw page (compound or not= ), >>>> mappable page (compound or not, especially for those used with vm_in= sert_*), >>>> and folio. >>> >>> We can't identify (small) folios just yet. We'd need another page fla= g for that (just like PG_large_rmappable), and we all know how that ends = ;) >> >> Yes, I am thinking about removing mapcount in struct page to achieve t= hat. > > On my todo list :) Stupid CONFIG_PAGE_MAPCOUNT that is still around and= stupid partial-mapping handling. > > I worked on this after LPC but was distracted by PTO :D > >> And only pages used for vm_insert_*() and folios need mapcount. > > vm_insert_*() won't need it for non-folio things. Only folios. We just = have to teach the zap code to also leave the mapcount of these non-folio = things alone. IOW, identify them when we map/unmap as "not folio" and not= touch the mapcount. Oh, that sounds great. I thought I would need to convert all drive code that does vm_insert_*() to use folio. Basically, I hit __folio_large_mapcount_sanity_checks() on _mm_id_mapcount when I moved _mm_id_mapcount and friends from prep_compound_page() to page_rmappable_f= olio(). IIUC, __folio_add_file_rmap() can just return if a non-folio compound pag= e is encountered. Of course, remove part needs to do the same. > >> Code >> uses vm_insert_*() on pages would probably have a struct mappable_page= >> with mapcount. > > I don't think we'll need a mapcount for them. Only for folios. > >> >>> >>> With Willy's work we'll be able to identify folios reliably. >>> >>> How to deal with that vm_insert_* crap, especially for non-folio page= s, is also future work based on that. >> >> I think it might the other way around. memdesc does not have mapcount,= >> if we do not have a separate struct for these mappable pages now, >> what do we use at memdesc time? folio? > > Folios will have mapcount related information, yes. Long term, memdescs= will for sure not have any. > > Real fun begins once we start messing with refcounts. vm_insert_*() wil= l be "fun" on non-folio things. Yeah, maybe we will refcounts for every used memdescs. But who knows. Best Regards, Yan, Zi