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]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id A4DC0C98315 for ; Mon, 19 Jan 2026 05:41:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 9DC5E6B0108; Mon, 19 Jan 2026 00:41:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 927C26B0109; Mon, 19 Jan 2026 00:41:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6075F6B010A; Mon, 19 Jan 2026 00:41:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0010.hostedemail.com [216.40.44.10]) by kanga.kvack.org (Postfix) with ESMTP id 3A5E86B0108 for ; Mon, 19 Jan 2026 00:41:58 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay05.hostedemail.com (Postfix) with ESMTP id CCCF259EE2 for ; Mon, 19 Jan 2026 05:41:57 +0000 (UTC) X-FDA: 84347617074.24.6F2A391 Received: from BL2PR02CU003.outbound.protection.outlook.com (mail-eastusazon11011070.outbound.protection.outlook.com [52.101.52.70]) by imf17.hostedemail.com (Postfix) with ESMTP id 07CF24000C for ; Mon, 19 Jan 2026 05:41:54 +0000 (UTC) Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=jUbGVqYx; spf=pass (imf17.hostedemail.com: domain of apopple@nvidia.com designates 52.101.52.70 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1768801315; 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: in-reply-to:in-reply-to:references:references:dkim-signature; bh=qK3XiTS+uSs4Wa2VPlJvbJxUnlZWwPdIxsUpN6pCDjQ=; b=HKJzVwfaGytCS6/hlf7I7E0LmEVYJ8E+TwBVLIb/wrlQPoF6dE2kIovPi+Mid2qwgoJ9xv EICZk13fjbiSKCUuoVBQEHFX2Ag3OB9W/VMtkae2ct1TFv8rdWPAjxJ5eWiuBU/GhpvFVL 7m+o3qEWBplRYaSLbOo92kY6WODPklQ= ARC-Authentication-Results: i=2; imf17.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=jUbGVqYx; spf=pass (imf17.hostedemail.com: domain of apopple@nvidia.com designates 52.101.52.70 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1768801315; a=rsa-sha256; cv=pass; b=tCsDA+8+xKVb/f2uY0048wYyIydbEw49ksRz3u5FbgmqWPyyUvFJcJa5LdopRqck/8zXHV v8Bnj9ddVLeFXxmSJupR1jJdAGq2PF+Jzi6qH85eOTV8bXhaC4JbBdQCG6hKEa8OGO2cGS 80JufTXA2+leA0cxbHS/mQKDZcByCGk= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=wE5Bv7/ig79+QnmvXPZjggD2v0pYM6wzLfOtwd4qE2UOK6BBRdT7q+F66Fjlg4BEGTTKWtk6xoOgODXMNGBYsb9OUN5qF/iUIKdzmO3a9Bb/MX2084+ihWLJjianpFD2TzBgqMGPEnwv2yvQZ0xLNwU9GHt/4Tq67oJTGMgzo7Mso4CUB96g4u+zHAYlD7wKC7ppvnzDCCVzAI7mRTTQ6HDT5d7VwzQ3iO2R2XZdPs+l4f+2AuVlGfXEokKlwn9Ci4xowZaUGSixODceQzRPD20WDCPeLUvm0EB9OJkkITnz6N8LlUVPYw8ykx6rXsvDOKikoNsaWKuWchg9WXtQ0A== 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=qK3XiTS+uSs4Wa2VPlJvbJxUnlZWwPdIxsUpN6pCDjQ=; b=Z6ujz6TEXuRC6rHeXDkfu8+R/xHy7Wqx1K8c8gVGWQu+HsfxiwiHtl5pAPZS9c+fYoUY7eL0FgVemlKeI56wZAVxdcVSQaA3eXA1+ro+UCpBoPOhTc3O0D99sXVo+gegwLReylkHdb3FJCcH2zVc6cdPSA53lytqNFLOGu3umQQJEPJP5mlBkvTvbl8fQaTWifEpleagfuG8leQTGOV02RWqkCXsGbZ9Vy/gkbNsXdOe66loGomuZHdK6jP10kKMSBnBY5fB6iV4Jn0ZlqNptDMwvEyS50o2fXHyBdlbaKeGg8hT+slEX9bSF/SpdPe96V5MNRHSb6cc3Ai1BQVURw== 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=qK3XiTS+uSs4Wa2VPlJvbJxUnlZWwPdIxsUpN6pCDjQ=; b=jUbGVqYxt9lDNuZjrmpaFO3l7m3FLYsgnvoyzQl/L+fXIPAeUlJ9LQ5NxtRSuzacEqxcsWYUbZYEqsERW8zhIM5iAc5r9o3r8knahxS+80+aq85JedpPoPtkLcLEDDnPz6QKPA682Ts4Uw7WJxODYcbxW/ZgpxsfcRlk1TqUVlyKDzIvpg9TWbbb96rH4ixzUB0Xjpuh+5WygBnE7rqQCx4qPmhANymI/7Tpt95V490e0jz6MlkpqSwlmZVCZfuD3XZgIPq+JK4c88TQhT6F8AbHULJdv3ES5lAhzN7KI4YYJA8bSD70KS70goUbNqEMQt8rMlWt5d6UZh5cpfUB9A== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by PH7PR12MB9256.namprd12.prod.outlook.com (2603:10b6:510:2fe::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.12; Mon, 19 Jan 2026 05:41:49 +0000 Received: from DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe]) by DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe%4]) with mapi id 15.20.9520.011; Mon, 19 Jan 2026 05:41:49 +0000 Date: Mon, 19 Jan 2026 16:41:42 +1100 From: Alistair Popple To: Jason Gunthorpe Cc: Vlastimil Babka , Francois Dugast , intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Matthew Brost , Zi Yan , adhavan Srinivasan , Nicholas Piggin , Michael Ellerman , "Christophe Leroy (CS GROUP)" , Felix Kuehling , Alex Deucher , Christian =?utf-8?B?S8O2bmln?= , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Lyude Paul , Danilo Krummrich , David Hildenbrand , Oscar Salvador , Andrew Morton , Leon Romanovsky , Lorenzo Stoakes , "Liam R . Howlett" , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Balbir Singh , linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, amd-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, linux-mm@kvack.org, linux-cxl@vger.kernel.org Subject: Re: [PATCH v6 1/5] mm/zone_device: Reinitialize large zone device private folios Message-ID: References: <20260116111325.1736137-1-francois.dugast@intel.com> <20260116111325.1736137-2-francois.dugast@intel.com> <20260116174947.GA1134434@nvidia.com> <8006ea5f-8845-436a-a2d7-125399428762@suse.cz> <20260117001921.GB1134360@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260117001921.GB1134360@nvidia.com> X-ClientProxiedBy: SY5P282CA0028.AUSP282.PROD.OUTLOOK.COM (2603:10c6:10:202::14) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|PH7PR12MB9256:EE_ X-MS-Office365-Filtering-Correlation-Id: 2437e481-3942-431b-7785-08de571d70bc X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|376014|7416014|366016|1800799024; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?DF7cAHISt2s3lbua59Aks1H4DGe9dQkCJ4vR+Rq1U5NULpWQysaxM0tTIAf1?= =?us-ascii?Q?DC6OIcmszD3q/VnDHezCAcFYCiR3SvA6yyRjsDg8lQKaj1iHhtRrhDIn2T/m?= =?us-ascii?Q?EnZAiLxrxtNLQNonzw3Q8bARNlTcdakNUAWx/l9LJTawXJd6abH1kWz75win?= =?us-ascii?Q?3c8eWpslO/i+liuTL5ENG53nHHNdPQX1QYICNE33JfDDZygSwtyh3/7aLTW4?= =?us-ascii?Q?Rq8lE2YaF40AxZol/BvkahB//rZrcMQW5jfuHjnTX0BDYzfzTVkOVyreCgea?= =?us-ascii?Q?h9B4gd5ECkY3dwDMFFplwTKfWc2M4tTwdS0JQyIycc6j0yYEqSXnS+X77HQU?= =?us-ascii?Q?uk3yxc9LRvFVDrOQMY9VaWUHT5nbENbrXD47GgKtxLYf4Ka9o/AzIVjUFs4Q?= =?us-ascii?Q?x4egJykK5HEq2AozipbVQSObRkskZQT1O8QJw7/AxoZNiI0j89hNiaXBVVn3?= =?us-ascii?Q?9rENectb670Y+U9uDkPK1D7m/M/7neVJt9imI/oTG+wSKIShp9IQUUXpiN6T?= =?us-ascii?Q?FCXQRQqLIc7kj6Cgvfo7YrsN4ua8fbI+/4FVuFyoUU6QxtMScl2h4xPS0ni2?= =?us-ascii?Q?XtwKEhBmPD7quf4deUluRPfrXyINBGAUWSy315HxGHjNpcJm9MN4ljvzXFVx?= =?us-ascii?Q?oxaf0ek3tTZRs6ZUjCm4kOyWIoba6d7Lbtx1D0fGwR5RBR3Lt0QOlOXxBwSP?= =?us-ascii?Q?kEzT7K9B+xn3y2Zeb1l3ilUehKGDO+JnW1JjesB6M4BYrsZW0VqWmEDekbBg?= =?us-ascii?Q?VW1201rsErESVQDBLJqEh6L3iGQM4y9Nq6Wk3m6a2otIMBbmKfEQBnshWsnL?= =?us-ascii?Q?optR6YaNee0tPOGOhF1iu3aLEVoj/yT/0c1bMv/HRXsXRlehqLCazpGJ4FCG?= =?us-ascii?Q?aMWx7sv89ML6JzdI6S3e4pCXInj4F6kPaLi9yfbtVCj1hFgKiT5qeNYMT7nD?= =?us-ascii?Q?AGhlBXheFOmACsBQpxP5tfHcHDKppiPKkSodgfXQ5O6c/JDZOIqkOIFfDEi4?= =?us-ascii?Q?tz2412nOKKKE1RtLecHpWA1b1u9MYeP/3M9FCk/5/bya7myHz6Ys7uW7wFEz?= =?us-ascii?Q?gA3/NQLduf+B84rywz01FIuq+pDfmiz0+3AuY65m79sRqMgTOJI5SlHEbLPc?= =?us-ascii?Q?Vla9U4jcC+THc8EDRObouMqlemVcPC6i4GWQ4/dvvnOUzCNRGhin6GU4LiUD?= =?us-ascii?Q?1XH7RWYWdyIA6vwgNccNlVHz8T3X2yvzyMSaCtElZFFQUE7dlxY0UCJ/MBK0?= =?us-ascii?Q?rfkcAP0xF3eR+jXIh3gBJOyFu5881IdXOzbAEZvOmWXpWKISoa8VCdTYQJNU?= =?us-ascii?Q?oDGAuZe6h1AXAKh6BRYmDlH7z8eCR6Z9Cf4m+MgPm1nxu6wGMCg2s59kgdXu?= =?us-ascii?Q?6EKFfuyqc7F2YoVoYLACh1Bp7ora4efJgdeqjiCd3/Pcsc0ePv3qBxWFpX/d?= =?us-ascii?Q?WqqhzklK1I2DBDQ51vmftCZHf2xZNbIGbMx+Z1ATRU5YVZIZQFqrVbjNTQIs?= =?us-ascii?Q?R4g6n7uPBvAMkhA1CgfsgNgG+EW7uwPHq+PxDwVzCcMnq2Hm7F26nPlgdV4M?= =?us-ascii?Q?Kyn16ShYTrSvMmt5ZIE=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DS0PR12MB7726.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(7416014)(366016)(1800799024);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?UL6vDGw3053/l9bc+92xDLkK1xVCNND8u/eOQjpJCMCAWDI5fCcBeR8P9itV?= =?us-ascii?Q?RPNzyXJmeiUgUPJbyqY1m5X0bFILQprcOMgncC4u8eAfgbOVa5ylXWE0vtFP?= =?us-ascii?Q?foYHTGAEEm0hQBg2laEBfOH0x4IaJhNE9rFBKga0E9Mh0ZJ9z7tAW9ZfdjII?= =?us-ascii?Q?rVU9BoZDrrecGyqkZ8TTBgd9CJWU55KwEgr06jtIHPsgHtQ3xP/zBBEZkpCa?= =?us-ascii?Q?HCRW0oW+nYvOx8QU6k5CUhpoxrUu5u2474moBgDrnATE3ooavjB3p3dBqgVu?= =?us-ascii?Q?K0NtKdmchmeAOVkFliaw48qoREI8COb/6IHmJ5OoPafiGOmL3NWrO67KeG5g?= =?us-ascii?Q?Gvo+MYqugnJTtpCGxzMSjMOuygsUvQSjVz46NXRtBQW70u2on488e8kPCmsk?= =?us-ascii?Q?tox4EBlTrcxmpMUa1YOx6Z+IsbK/LWLjoPApSiJR50HnrG1LIWq4e79PQHy9?= =?us-ascii?Q?j74Y08q+UNv5IqKmvrQMPDdiVAY5I7r/D8b8+ZU8Z86Hz50vvb1fgGPkspPD?= =?us-ascii?Q?MxwZtBrpdO1o/yRwDW5CTqehAKSBt92Vis2HZc9qJYsSCb9hJZ5hKVO9/L6Z?= =?us-ascii?Q?ZjpqiWA/GfuF9kEO88Gr5duydHBG09vTv/IsCSyNXOkRcCMrqWVmSOsZnXyQ?= =?us-ascii?Q?Q2aEA7smF9I1M6ajwkWVUAT7zhNDtK8N5wyC0NOtdZ0cDTRpnBqMi/80NhLm?= =?us-ascii?Q?g0eEIuYB3U/Kt/aCaUSqFt/DicRwY1MO4P2ggsYukDc+xF+lfv6QrL2JIafF?= =?us-ascii?Q?gFSCpCm8X19J0ryfmU+Usj8IWQvQod6Gd2y/1IhbFkr/50muBvw5gM+cJmz6?= =?us-ascii?Q?pIWaGryM57tAUyqsoaAZUrUt9FI+fhOqYJF7GyPkJ3I+DjQjhphtARWjBTJw?= =?us-ascii?Q?J5QjffNuZ/odntLsFJujY13t5cMiScvszGK5+JqpVw1nXZ834/1r9zCWaj01?= =?us-ascii?Q?V7slNsPE4Mytro4Ylf142faZLtOoCY554ddE1riwJ003FAeigduBOkV7uNYj?= =?us-ascii?Q?CJ82E1KtkULcDzFs7vdvbPpIye4fluIAC+1NZtEPvbEtO3fjKjPf2TsYq0C+?= =?us-ascii?Q?WOfQ2yiCWvr+EqL5dPfmu5Ao5u2+wN2DR94URRkQm5oBmHlPnzMZgluXZ6c2?= =?us-ascii?Q?epYf+65mXnGfL06zZeNDSGqF5nrERxyOiLQG/Aq34RGU0fIIx4EIRERfetXu?= =?us-ascii?Q?VNsAUsRuUCyBHbv4fF2gcLmid4G9NWuKPWMTN47CDjtsf1z2sMuFw8zHLabX?= =?us-ascii?Q?KYMGeO3ZgIwqk9/RcdEbmh+nAGA4h1oDcuLMC7m696gSTE20fXPzBud0tnO5?= =?us-ascii?Q?WwqjeV3Wg4WV1ywQptwSyMaTsFzOq3qVfZbvZLu+yvCFJZLvppYhN+cC7Mci?= =?us-ascii?Q?xM3jlMZl9tu0O3xOmpBGGiZeCanS4aGuMqBCGBw+A3AdghyoSXbW2X+FUy14?= =?us-ascii?Q?AS1MDBOG/SsPFQ5jB5ST8hFIpzkvrf/CvrWZ5liB0n8G7Y42nFYAepVwl599?= =?us-ascii?Q?95uICIksg8pznNIJrcbi7eIv7pF5U20SiDr21mGmnjNmQfErzXH+hdBpsJ8l?= =?us-ascii?Q?y4AvCaZiDjGz/7Lon6zii7cIv8NlUgoVoZYwhlGl8rIdvJT9kn9G3sFZQ8Ii?= =?us-ascii?Q?YwdsqpDHWbRh8acWlU3WWkdySnsXo8PtTxSde70jNCVxJa3ZJf03dyJ/ezMt?= =?us-ascii?Q?DSj5xnLU31uQ0uoSCGZM3KXFa4dcCSd6OHNW42UgOVkL8WT7lnoX1Pun6m1C?= =?us-ascii?Q?vZaCncgRUQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2437e481-3942-431b-7785-08de571d70bc X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Jan 2026 05:41:49.4159 (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: ki3Svp+xizI3bno4NIrSroQ46uIc+M8KbCin65A8XaIduLWGlvcvX8U6tiiVPqgbjRiIOcZK1Gfm0A8/vONK8A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH7PR12MB9256 X-Stat-Signature: a7d9j4w3ycdjnfh8whs4pg7oywmuwm4w X-Rspam-User: X-Rspamd-Queue-Id: 07CF24000C X-Rspamd-Server: rspam08 X-HE-Tag: 1768801314-695587 X-HE-Meta: U2FsdGVkX190LStmytuWtFJdtg3bCeqJYxexubAy6pycKESbIHiiJTq1bWuxhNpBw73gkaxq/86QlOXaudpMgrBtBg0GrBvwtoNEYwFJkR5hSc62iBhxDGr3bs78zMaPILZWdM5hBqzYgLc4caImTu9QuI7pUV3byOegFw+5FS3A9rUJ8vHUiWfjped0eKzHcZWmzqBzs8ZYkteHcotUPr0B6sLQu65pqadKe72ZWbFv9X8lS/56dEhquNlfe0d/iqyIuD5RYJP7gS3+Y44tAj/GUE9pRq0Hb9TCEmKWk14xDRUTJj0eBdZIctCDCeBdRW3EluRavu7zXfj+gff15wCvGZXYMP33yQrKSBwUSm+ZTKT/Y1MXxf0JS/tERF5sA4iU2IKLkMbEcQwYr4DdraCQ0fQQLiO9UxKkHNi52cnhGhlyxwc0WlSMjsn586tDkLFq83wygdWdHa4we+TEO/aTFkHEhPyblY4uf59TFkfXSia7vGwojAbn8PAJCxwMvLG8cq7TxevVNwZV0kzeTENTr3rTV5WdOd5DXzJT101ow9rldYY05te47vlwckDO/W01LUFsQy/zAHr59I6FdXKNNM8hYJq5t9h05ypoD09GhfwDUVr1nAbqrcKBviCMOPYJKSQOgTMWP99DdW3p/s20pdJpQ1KIcCtK+S8ea5AgFdbVD/WOGLA8TEaD1hwXRpEiJPZGrWA6zdSduW0L37r6UPxKsmbPK4+sAjBoDxHd9f3JbKnu18vmsWcNd3eQknZZt7cPJmKD7RAqP7a2xR90Me58by7RIk5SIJp6a3fRawpE87JyKN4Quvi5FiGwYpa1OYhqbIWT7k/iepGhQIUpJ+u1MIG1rAzEnOAWDgZ589FSTnnFmv/QAkFwQe/acUxWqS6OKaUTE+jWrh4Vk5nT3a1PRUfeS/Iyzt2OwR2zbX5KXFNEOgQnVUghPXZJrjiK8H+O9FUpiViO8/B R3i96Qvh I9u0Lkd/6ozG+eXQAj6C/FqZ7gSMeWb7FMVhATtsfmND/KJ5BSp8dlwOJ/GogzvbzGVYLvJeHF/eGxv23ICIB+KIfxl3wXDpBfoEj8U40lvvSJzndcVo3Phj+w8q70m7sQh9yDrnfnT7+ADiwKKVcYnRBan8ouSZcUiTz/cxgL2hBcxc1ZBGJViXfxsGhf8qDvnTSsZy2GsVXJQs1Szo1ccCOysop8fzAk+YkuJ7tmPjFHyqGKGZ92VHGjzmoi/j0gqQ/J8QX/m4v3oJRBKCT1OLjlKK/Xhv2rvQJ++6wo+EszV/b4cPtlPSa+4P84QsZ7vYeXFZGC9Aqe/0q9p89raKPpEOxWmT+CCQ5Q7Km8f/0WxYvtqfU8yzNU49DxZW+SXJNd9atEYj0Jzycq77IjxK/UueniOXwDZKCxyAEpYHN+XTwxPT2Xa2wDT8JlSn4nQW2g54USDovFwHjSpipGHmLjOTgHe8zDn/D 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 2026-01-17 at 11:19 +1100, Jason Gunthorpe wrote... > On Fri, Jan 16, 2026 at 08:17:22PM +0100, Vlastimil Babka wrote: > > >> +#ifdef NR_PAGES_IN_LARGE_FOLIO > > >> + /* > > >> + * This pointer math looks odd, but new_page could have been > > >> + * part of a previous higher order folio, which sets _nr_pages > > >> + * in page + 1 (new_page). Therefore, we use pointer casting to > > >> + * correctly locate the _nr_pages bits within new_page which > > >> + * could have modified by previous higher order folio. > > >> + */ > > >> + ((struct folio *)(new_page - 1))->_nr_pages = 0; > > >> +#endif > > > > > > This seems too weird, why is it in the loop? There is only one > > > _nr_pages per folio. Yeah, I don't really know what the motivation is for going via the folio field which needs the odd pointer math versus just setting page->memcg_data = 0 directly which would work equally well and would have avoided a lot of confusion. > > I suppose we could be getting say an order-9 folio that was previously used > > as two order-8 folios? And each of them had their _nr_pages in their head > > and we can't know that at this point so we have to reset everything? > > Er, did I miss something - who reads _nr_pages from a random tail > page? Doesn't everything working with random tail pages read order, > compute the head page, cast to folio and then access _nr_pages? > > > Or maybe you mean that stray _nr_pages in some tail page from previous > > lifetimes can't affect the current lifetime in a wrong way for something > > looking at said page? I don't know immediately. > > Yes, exactly. > > Basically, what bytes exactly need to be set to what in tail pages for > the system to work? Those should be set. > > And if we want to have things set on free that's fine too, but there > should be reasons for doing stuff, and this weird thing above makes > zero sense. You can't think of these as tail pages or head pages. They are just random struct pages, possibly order-0 or PageHead or PageTail, with fields in a "random" state based on what they were last used for. All this function should be trying to do is initialising this random state to something sane as defined by the core-mm for it to consume. Yes, some might later end up being tail (or head) pages if order > 0 and prep_compound_page() is called. But the point of this function and the loop is to initialise the struct page as an order-0 page with "sane" fields to pass to core-mm or call prep_compound_page() on. This could for example just use memset(new_page, 0, sizeof(struct page)) and then refill all the fields correctly (although Vlastimil pointed out some page flags need preservation). But a big part of the problem is there is no single definition (AFAIK) of what state a struct page should be in before handing it to the core-mm via either vm_insert_page()/pages()/etc. or migrate_vma_*() nor what state the kernel leaves it in once freed. I would like to see this addressed because it leads to all sorts of weirdness - for example vm_insert_page() and migrate_vma_*() both require the page refcount to be 1 for no good reason (drivers usually have to drop it immediately after the call and they implicitly own the ZONE_DEVICE page lifetimes anyway so why make them hold a reference just to map the page). Yet only migrate_vma_*() requires the page to be locked (so other ZONE_DEVICE users just have to immediately unlock). And I presume page->memcg_data must be set to zero, or Matthew wouldn't have run into problems prompting him to reinit it. But I don't really know what other requirements there are for setting page fields, they all sort of come implicitly from the vm_insert_page/migrate_vma APIs. - Alistair > Jason