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 8A48CC982EB for ; Fri, 16 Jan 2026 18:07:59 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id DBC696B0005; Fri, 16 Jan 2026 13:07:58 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id D69F16B0088; Fri, 16 Jan 2026 13:07:58 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id C147C6B0089; Fri, 16 Jan 2026 13:07:58 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id AD5266B0005 for ; Fri, 16 Jan 2026 13:07:58 -0500 (EST) Received: from smtpin29.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 23A54D1958 for ; Fri, 16 Jan 2026 18:07:58 +0000 (UTC) X-FDA: 84338610636.29.B4760A4 Received: from CO1PR03CU002.outbound.protection.outlook.com (mail-westus2azon11010037.outbound.protection.outlook.com [52.101.46.37]) by imf05.hostedemail.com (Postfix) with ESMTP id 08B1B10000D for ; Fri, 16 Jan 2026 18:07:54 +0000 (UTC) Authentication-Results: imf05.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=l0l8UlLO; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf05.hostedemail.com: domain of Felix.Kuehling@amd.com designates 52.101.46.37 as permitted sender) smtp.mailfrom=Felix.Kuehling@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1768586875; a=rsa-sha256; cv=pass; b=zjXH4O/OyYa4fVWQvbeBg1IOQW46ouVqwU6s4n31V53cZ/yXNVP4Keqd2dyHYq7sd/BNE2 JOMumMX4B9vzketz3C/B+ucpdF4A8tnMOD62+6v9LvOKfZansXSFa8WpwJhYWjKN28Z7yz SgtRuDrPbUN9GZ/yR1xn5edAAoKl8+s= ARC-Authentication-Results: i=2; imf05.hostedemail.com; dkim=pass header.d=amd.com header.s=selector1 header.b=l0l8UlLO; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf05.hostedemail.com: domain of Felix.Kuehling@amd.com designates 52.101.46.37 as permitted sender) smtp.mailfrom=Felix.Kuehling@amd.com; dmarc=pass (policy=quarantine) header.from=amd.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1768586875; 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=QzsrSRk7NUcRK0Gjmik6FZDY2UHNB0pvh3knM0HGWrE=; b=03w2bJLIIeY6v7HS5Aw6qpyucSFSj8CgH2ZhvJ/vRaCL1X/QZcombUhLEiS71F9EispAuD wy9c+71sSuvF9IiNgTwSB7s/g0Il0UYxxWYLvTgQ21QFAKdt2WgDDt1r2QiNxCu8ELdnFZ QtAnSidrzveowJ12quO/YVKZuPGAxyg= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=QL9kZtmYatqakMyzQItnuvp3liDbJ6dDKVjEDzxrJ8eBa8r6rVroMRZ1OuhT00h4o/sj2VSCiZw54Y5A4d00jTPxmFEHvljwcrZbwm1v5wt7imjrSi7xtTpxKuG/h2Lj+DNgKaZ0Nq47n417wk1/rFDcU1tDq6wuQVQbv87LXUTQt1RnREvKTXyf4q+06R1XU/gWayxKn8vJOhHAO7gPhWH5gLkSfwr1KTaNlIWhwfJmZNnboKvJQ1JMQkz3FhXnLEHq8DPPp/H7Vn3gJf5phtQBpyha1pAWDZl+csMf5pnzHTYTiuElU8mYMDdMBsiO1VYvvnDAgSRS6hDnRD3Cew== 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=QzsrSRk7NUcRK0Gjmik6FZDY2UHNB0pvh3knM0HGWrE=; b=wx+Dt0hkQVvBIFAFMxFc0KdvXt21RsXhLuFAT2STCKfWUOWqSAHaP/UlKowF7HPzSzS3rFHNlA3MztY9+qpIsEVr5AmvpCrBnEtWy4mh2oJw2n7eoBrKXICTANSGqOkuLI7FultFxLIVDjb1+m5O8ewzPeUBt9XW1OtoalA5bAsMu6nCn1p8taVD5yItzt3qKlyiPvYLVPVJOhl52bsj3r2tE9Io7mBcAP0t0THSNilZPquZBagP5/AW2bx1Yhtx4u+SUk8Zcmzvnn89tqo1VV/Mqz4OOnW7fUbebR1ZXrYDvaoIw/qu6UsIqoNmvxUmMLHJtG+VWAE0+wSsiSkbXQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QzsrSRk7NUcRK0Gjmik6FZDY2UHNB0pvh3knM0HGWrE=; b=l0l8UlLOMawncM5cE3W1UYb8FLuA2W+dZbgNBj/1owWDKcpUDZNTgrD+t+fBzHgfv3gTAqwJIBcMros6Ddr9LXocKl64Zr1x0VlVDWNanqZyKnKZwUclwYckcG05W0M/h9ZUjSdpoCgErbkiyPDgXqKqb8L0fRVJt1GirIxKYb4= Received: from BN9PR12MB5115.namprd12.prod.outlook.com (2603:10b6:408:118::14) by MN0PR12MB6367.namprd12.prod.outlook.com (2603:10b6:208:3d3::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9520.6; Fri, 16 Jan 2026 18:07:51 +0000 Received: from BN9PR12MB5115.namprd12.prod.outlook.com ([fe80::230d:c588:d858:9977]) by BN9PR12MB5115.namprd12.prod.outlook.com ([fe80::230d:c588:d858:9977%6]) with mapi id 15.20.9520.005; Fri, 16 Jan 2026 18:07:51 +0000 Message-ID: <2485868d-2755-4984-842b-430b78f6f9be@amd.com> Date: Fri, 16 Jan 2026 13:07:43 -0500 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v5 1/5] mm/zone_device: Reinitialize large zone device private folios To: Rodrigo Vivi , Francois Dugast , Alex Deucher , =?UTF-8?Q?Christian_K=C3=B6nig?= , Lyude Paul , Danilo Krummrich , nouveau@lists.freedesktop.org, amd-gfx@lists.freedesktop.org Cc: intel-xe@lists.freedesktop.org, dri-devel@lists.freedesktop.org, Matthew Brost , Zi Yan , Alistair Popple , adhavan Srinivasan , Nicholas Piggin , Michael Ellerman , "Christophe Leroy (CS GROUP)" , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Hildenbrand , Oscar Salvador , Andrew Morton , Jason Gunthorpe , Leon Romanovsky , Lorenzo Stoakes , "Liam R . Howlett" , Vlastimil Babka , Mike Rapoport , Suren Baghdasaryan , Michal Hocko , Balbir Singh , linuxppc-dev@lists.ozlabs.org, kvm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-cxl@vger.kernel.org References: <20260114192111.1267147-1-francois.dugast@intel.com> <20260114192111.1267147-2-francois.dugast@intel.com> Content-Language: en-US From: "Kuehling, Felix" In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: YQBPR01CA0084.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c01:3::20) To BN9PR12MB5115.namprd12.prod.outlook.com (2603:10b6:408:118::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN9PR12MB5115:EE_|MN0PR12MB6367:EE_ X-MS-Office365-Filtering-Correlation-Id: 9598ca31-996e-4e5a-0a30-08de552a297b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|7416014|1800799024|376014|366016; X-Microsoft-Antispam-Message-Info: =?utf-8?B?VDdTakNQUzhPTVJYcmpIL2FmZ09Hb1dDS1VJdi9DS212dVpXYm9NVFg1TVAr?= =?utf-8?B?T2ZkRlpUcW5MZkNKbWd6Nk96YzVaRVpxNk1nUVRjd0t4a2lyakxpNnVoYnhL?= =?utf-8?B?LytlYjE3TFI0aVJpZ284R29LZk15cWJQdm1iTE92RS9vV2lvaXIvVHhYdXd4?= =?utf-8?B?azR2MXdsVjdZYVJJSjZ4ZjFsQm40dnR3WXV5SllCaExySWo2OUlOV0tybmY3?= =?utf-8?B?WHFHOXJ1WFYrSlBtbzVNU0o3Y1VMSkx1Ujh0eHErcjRoditRcGRwRCsycVQv?= =?utf-8?B?OEZNUnVSbjJkWGt3VTFVMW5YUHNHUVltaTdVcFJ2dTJGWGs4SVMyMVdSek4w?= =?utf-8?B?NkZxaFk4ajh5ajNBMGI3Tmo0aVpDUkFFMU93Z3IxOFdDZ3RsaWcyenQ0VkNi?= =?utf-8?B?VWJoMkt3SGdVcEpoamc3N3ZweFBZajhucWtwVEEwWlAvVm8rU2wwaDRoaGFV?= =?utf-8?B?S0dPOHdtVW9pcHlUVHpYdGpyemVUaUR1Rk5rQTc0N0tVazV2b0x3MmJSR2h2?= =?utf-8?B?T3B0bzVabytvT2ZVS1RvK0JKa2xwRjI3a2xSeEEyRUZXNFpxUFpUR2k5RHZ3?= =?utf-8?B?RjVtNHBWc0lvZGJ5Y0RndDNtamRpanRYNGZma2M5RWU5Nk0rSi9oYm5heE9n?= =?utf-8?B?bDhGQzQzVnpEcVZhTUtGR2RIT1YwUHVsNnVLWVdiZkpzWnlXT0FwOENEajA0?= =?utf-8?B?K3IyU1RpU2lhNE52NmM5TFNaOUVLN2lSMm1QdTFiNUh6WDJXcGZMd0FEMkR0?= =?utf-8?B?NWsyRTArQTYrZjZvZS92K1BkZlBTQ0JBenR6VVNEVEVLZkxVZVdxV0hlYTMy?= =?utf-8?B?dUVHSmYrMTlxdktTendwandrUzJvV1F1YXpUUnAxTXhzRzJWRUdacTVIdXV3?= =?utf-8?B?SFJPTUdMUkpPTTVhRWQ2SWcxVVVYOXdnazlSUHBMZDNrZWE2VFloMFRuV2Zn?= =?utf-8?B?dUtQOCtzUXVoakltVThnSEZjSHhYRHE2WmYzREZGTVVwd1k1WlBXM0w2R1NH?= =?utf-8?B?dmNwWTRFQ01PK3ArdTJCMGNYKzkrS3Z1R0gxdU5iZjFTK25id0VOcUJjVWJo?= =?utf-8?B?Ly9EREpBZkcvRm56NEFnckY2R2VBdU9wa1BaT1Voak9HeWtSL2NybW9WY2My?= =?utf-8?B?V0dFOHBKdi9xYnNPczhEU0tGTDNjRnlGajlZcW5WZHFubXFmQ0MvTkRpVXFS?= =?utf-8?B?VFZ2RnZreGJmd0gyNG5ZZU9kMnN6bGRkdEhRN0h3bWZKVmtHdFpCMFJjaXAv?= =?utf-8?B?S1hnckIyL0lLUW4rVjh4NTFsU1k3d1pqWE52djI2MVhhNjBjUDIybHNmQ3ZV?= =?utf-8?B?U0RuYUlBVndhTEdqLytpdWQ3TEF1M2ZmMnJlbStRWVYydUN2cXR0VjgwS1Zk?= =?utf-8?B?eEZ4amJYMFlzbUg3UUV1Z1llRnBUYlcwNDdxOCtaYlJpb3VUN2pVWEhiQUVT?= =?utf-8?B?ejhGdmRmWVB1aXozZ0kwRGFtaktCcDZhSDhZeldGdmZBM0FJa21nN1ZoaGs0?= =?utf-8?B?UWcxUkViTXJpb2J2em5xd0tjSkNsZFkwOU1qR1hTNXduWHV6bnNSRVgwd09o?= =?utf-8?B?UE1pUEh5dmgzdldzRlA2endmcEJ0RU1BaHo5YXhPcTZxQitpbkpwZEcrM2dw?= =?utf-8?B?bFp6NTZuLzRPczFOOVd5WmxkdFEraWhyeTRqWkhWYXN2UHpoUWJuWGMrTXA3?= =?utf-8?B?aGFSaUdTZzA0YlBuS0pIbm9zNm9ySGxDdXQraGJhUzlBVUNFcE5qdzdHSVFa?= =?utf-8?B?d1dwczlUSHphb1V4K3cvNHd1aUNtK0MzV0l5NmZ6ZGl0a1k0YlVYYVR1elFO?= =?utf-8?B?ZjlGampmVkgzV3NlQ0FIaGJNUkFjOTA4MmNTejVnUEVxeXFxalFlN0VUVFNB?= =?utf-8?B?WnFIUWNiVFZjWGF1U1kvbFFQQ3lueS9KVmZZelBhY2RwdWJ6S0RNVlNid0xm?= =?utf-8?B?SzU0Y3dzeUowbWpYWTlzWWNMTE1vVmowRnNhWHNuNlJTMXphRzI2cFRtSmlZ?= =?utf-8?B?Q2NRdHQ4OUVOL05BV3hoVGhEazljTENtZGliZ0ZtbkpGV1pIak1QUlRBZldK?= =?utf-8?B?d2FrUW9IRjRkelRkZTM2bjd6VnQ4TjhueVRsMk9PUUZMeWRXcHMxRmpPN2Nh?= =?utf-8?Q?6T6s=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BN9PR12MB5115.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(7416014)(1800799024)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?Uk9zU1Y1bWpqc2RQYzBaMm5wejV0Q3FMcUc1SVJYcndWVkVuTzdJN21XN21v?= =?utf-8?B?Rms1dmlWZkVxNUNDMnpTclNERU1uMWRFQjUrTWhnekJ3eVVHVUFCUjR3YUFE?= =?utf-8?B?MHg3UDU0eFcyYm9DRXlkZDE3a3k1SnBKUDlMVzlWY0t4dmhmc3VGbjQyUTNQ?= =?utf-8?B?b0RZOUhNUGNoNWx6NEhZU0tHam5GNDNGbG9HUGpuWlNaaXVncU40N01sc3Zj?= =?utf-8?B?cm5OaGZQVm8rOXVhZGkzcGJ3ODRwc3ArOXZ5cnJWd1pSZXVUNklrRCtFZ3ZV?= =?utf-8?B?b1hUQXZCbzVmOFJtamEycnVET3JodlZ2MEFwaWduRFcwbkE3OEk1eTlGOFM1?= =?utf-8?B?NlZtTDFZdHUwMEwycWhQa0ZhREFHZS92Rjh5blhjSFNTWVo2eHpoNnRzMk90?= =?utf-8?B?WTZ5eVlDZFExT3ozWlBXUUJKMWhnRUJuNkVKNUMyVEVTZUk0b1RBWUNZdWJv?= =?utf-8?B?R1ZCUjdpN0xXenNCQnh0K3ovbUgxOFpSOXVyd29YWXJmTTFTakhpZ2I5bHh0?= =?utf-8?B?SzR1S3p1eDJxU24ycWJXa1hSTkNQdFJqM1h6TzVYNTVob1dnb01EbzFKL2NO?= =?utf-8?B?V0szTjVxZW9BY2xreHlIcmtEdUJBbUV4R20wVWM0aWFSWTBJUzU1SDVmc0RC?= =?utf-8?B?cU05dDFuN3F3d1JzeWlENnY5UVJPRlBra09FTFA2RGcwbms3Y3p4MTlRLy9y?= =?utf-8?B?czVpNDNkTXN2SVM0MDNHUnlFMmZVM3E0cXlFdnVER0g3eGI5WDVESllXcTZ3?= =?utf-8?B?NzRZU3drNURRK0lXRWlzenpNNmZuSEpuYkRpSlJHVkpyb3YwbmwvUk5SMHBN?= =?utf-8?B?TEVPNTk0eHoybFNxVE5qNXF2Q0ZpMjZJem0rcm1PTFVBZEMxOGpINnhqTVdU?= =?utf-8?B?NnpoR1FtMzdHUDBaY080dm1USnpwODJLaXpyeDljTUl6Q1YycWozd1hCZmJJ?= =?utf-8?B?aDZoV09waWVLbCs3K3NOTVYvb0xLcGFWWloyS0xiTVZRVTRLYmsxN2p1QjQ3?= =?utf-8?B?N2F6R1ZJbzFQcGNBU1h2bEdpOFczL3U5a2d3NWNCMFFIT0pVRUZsMlpydTFT?= =?utf-8?B?Z1JVT084QVZvdzI2QWhKbDlCcy8zR1JrdnFNclB3TzNuQjlhbkRON1E1eFhX?= =?utf-8?B?Q1NlRTliRFVYamMzS2FRdkdIMERJRlJiaEhhS3hoNVpuNFZRblhUdk9ab2NT?= =?utf-8?B?M0J1NXZ2dTBuYkRZbUtFNXRmMHZGQ25Eamh6NUV6eXFwZE9jaS9YZnZnSS8r?= =?utf-8?B?M0NwTFhqQ29DVHF6SnEvV2JjVkQzQVFhVzY3bFRvcldqckwrUnY2QWYveEZS?= =?utf-8?B?SFRlYWVyQmdWZ0dPTmRFMDFta0xHK0NGMnNQaHpZWGRiY3BNSGNlaTNQNmpG?= =?utf-8?B?MU5lVGNoVklOTEZ5cHBURlRuc0pJRjVGeWtEbHdJSFhvcjNVYlZLTXdFL3k3?= =?utf-8?B?bElHbGwrU2piMjgxeVFsSWNtZ0JHTHFVWkNrckxrZHF2dHlmK0tiRnpoZmxT?= =?utf-8?B?OUN3K0REdzlkdDVMVVhNVWJuMVNQRWlBYmRJRUZFNG9VbklycUdkZmlCSnNn?= =?utf-8?B?bEZMS2I5a0hNRjFUMVdKMjA4dUFFdjhuWFQ5bGxtbTRMRlI4MnVJcWgvVEJH?= =?utf-8?B?aW5DOHpNOTVhT3BTV1RVVDN6d3lGd0F3SWEvZGhhMDBSZ2c0WDZXN1dxTjFO?= =?utf-8?B?ZzhBdDZzVGJoRGpIb3E4cG9aSGV1TGdteXRxSU9EMFhuV2pwTVFiNk9hK3p1?= =?utf-8?B?L0NHc1VjV0RtMjlNRlZTaU9QUU1TK0FER2NFaVZUNTlIeVZ6OWNuNUJZbHpo?= =?utf-8?B?MVVTM1g5MldkdmNCQVlZSEs3MlBSVEZxeHhWd0o1Qy9Ua1RycGdwY25QVnd0?= =?utf-8?B?c0k2WDN6cnYrc0ZqbWV3SjVNbjZ3WXh3K1BiUUsraEtWOUtwSWpjTE0xVG1h?= =?utf-8?B?aXBTNWtjZ1oycG1xbURJa0JVRFVnMmN2c1VrWUh6SDZlZE92TTRHWFI0T2Mw?= =?utf-8?B?TXRhUVNheHk5VEN5MFBQRnQrYk5GQW1nNjF1Vzd3dUtidEhKZ2l0QXFmK0tZ?= =?utf-8?B?WU1rQStvL1BtS1l6dHNqaFJoQ2lQd1B5c2V2RUw1YVRGZkdpbUZ1YjhuQnNQ?= =?utf-8?B?UE9tY1FSVVlIdE9DTURVdS9OMVFja1owRkZScWVDTUdHWjUxdjRpeGFkSE9v?= =?utf-8?B?cS92amRQMUczYmZjUDBBYWRucU00Q1kxY1J5L3JMV0NDRHVBQncrQS9OcDh0?= =?utf-8?B?NTRURElsVWJXK1ZNWU9BdjFhekZPeVppcldhdlgwNjdWOHNXK2pFdmhiS0sz?= =?utf-8?B?WjY3WWI5Q2hiTjkrNVlBNHdRdXNjOUxqVFVPdFhNcGowM1Y0eElVUT09?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9598ca31-996e-4e5a-0a30-08de552a297b X-MS-Exchange-CrossTenant-AuthSource: BN9PR12MB5115.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jan 2026 18:07:50.7618 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: faBXACrvD5oYYYMsDRa7ohGXi1E1ID8U4NioIvbLFPGbB9lkFRBAkOzQbmzOiOy+04WX3ZtkZuuleUNlDv0SVA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6367 X-Stat-Signature: wysbokj4admauwndqhm3dzghy3o3jhzp X-Rspamd-Server: rspam01 X-Rspamd-Queue-Id: 08B1B10000D X-Rspam-User: X-HE-Tag: 1768586874-194321 X-HE-Meta: U2FsdGVkX19Qza3Ig2W9FWpoaVrgQRv0wPyZRXJGGOQRRFjeRPHqL6FF00K3v6YGS/8PJDIIwqAx+M9MqW/VDQrzA+525G1WDFLsy5/hOtCXO9+gpxHpMWSJEsuXPepRFFYRd/f8VtCFeaPfiF6gMNG0d2QYKGHdZ+qYaaDJLPgFZC1j71GfFdhMxvsyrgyi1KcTWigW4K1xaPdMDfOsEqMJKYNNN6sqA2qrJf4NdG6a7zfPmnmOoLa7RPLnI8chUKO8Sns6mpVfJp+hlRAQza9XjVy43L2SFrhBUVKov941dH2WJwg7BuyGz3/Xc0EqIrjVxojWmLP2s7Bpa8O5lKEkqlwlUy0VT73rwSe8NCwdQmhmQrqYj8ZGrIkHsdFTYY2Ddb/vcq0DiZawieBZe9maW5gqI+w/2NVLXFMmZJ8XbjX1SuSkscI3EisCp3bZ/XrxcTsid6inFS17xIYsG80m+Vgh+YjmEooybzkHhg3c/sK2PHnyyB39O9jc2BspLrS51hcCuW/goE0ya95/3z4rYIzNBxz9gCnnpjBshh7XqGmH4hsw9yE5XBB7yvMT6zd3TBoadhO+mW0eeML+9Be3Bc/hQw3595kRm6ANWcDZoz76pwG+N6dsbaaHrGRK6zMDVISdZFs8KghFe4YZCityrh+OOxB0GtQfFbOzCVCK0HflqgEM+8KmElT9h5sElFeNuN2syQetONCKOah+BU1u2jiA4P9S1yxLh8JVeHZK5xw41BOXPPogGDayGc9RpOYUiZANqA9k3z5E0nSXxaLPaB+WmsN0TF3vWu/QJVBYm4W7By/lEsbg8G2Ba6g/Exkv6qxBkmwOM+dLzmyPTfkZhS+7kO9bsqLVSr3GOGQWZBngPr96cMITDIGf4wkNKpEALj6bQxM+892lw5CHQARfkhPM6dqpowIEal0+sheuXcvsnexZjJY/TLvYuDvcJifAt/CxXHG/inHG5Hh Ehh9/Gja 0f+db6D9nHPoAIcjAPxcma2hU4pVf1zB1ojGMed3PXRbGi4vTZEMgEuifYq4VPqtopWhJD1IA0BRZSoWkMVpeWJf5JVbBnHD5qLPDCxcPTxH0wh6ZF9K7hVOvLLxKMa0bWp/JTT1AzPOHBc2bSV0ylTZuPugCzpIU216rAzcGtRhsx311xp+jEBraKnUHRy0CN1ju0E0YdqtDobaerQSiL1LHSuwe7p6iGJingtq5kJgwCnKzxpOEtbHrgwA4GjpgFI9cNfzKenN6H/OL4PFdXe8F0YeFJq9/EZNffa29vIlEMXf2aKVmJCL3ikZz8vKBs1xAw4Kxo0uwdrAtzY8H5+pFFXiNxydA3pwEK+59Bxz4psyolG2exdESv6jNBHnDEGlm4WBzfwC3Vk9eRJlPEh2b2DB0wRw33rrGNDJbPRY5VAEgPUnybPMWJ5yPZObntBhDNK4oM3LhoreyMLltS6JJFC2gacO2KPqQ+Z23fFeEcvIbLbT7OB3eIwwVDM47hUmY6CWHD4gVAXH5GzqcMZHV58qKk0/atYyrxFa8ICGUDC4sIJRFsvzOi+5rOvfwaWFKCubkYnhE2Jy6ZnEelfa9aWU9j52BarxIVknwFAm94NPmWP7OdTIMMKoVqnuEu4jA1alQLc4i8TcLdOXZuSXYff/bxcb2w4LnGO36Arh64JMK3OTbua9fpznu29FupujavJmgPxvEVHvWfK0PboJFU2mybNwAJqKY49Vhu1GH5qv70yEzUAbTYVzrskbR90BrK7f0SZPM+FOBaIC22XQzI+Gi9VYjMmW7+oUTWZPbBXCMZr0LBj0ZlbSrZQy7jJfEC/gbtzI3lLJn0P01rA+QM2nw6/n05q11U93n4mpzKZ+vfQW16/1bSae33xEe2KrqFsXhhtpc/i0IZtHBKtmEbSWmzA8Q9r+2aQu+7kvzUUubu0/8D5IvgTGBSU7U3mg2Y2ENxqtZvWNzpoClw1TIZr+M 1Vp4mK/2 E+fzSKMaQtpRqL283KvtdEw59yJgthBrUhVorbK+wyUAc3woH3swSwdYxTlFooZL 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-16 11:43, Rodrigo Vivi wrote: > On Wed, Jan 14, 2026 at 08:19:52PM +0100, Francois Dugast wrote: >> From: Matthew Brost >> >> Reinitialize metadata for large zone device private folios in >> zone_device_page_init prior to creating a higher-order zone device >> private folio. This step is necessary when the folio’s order changes >> dynamically between zone_device_page_init calls to avoid building a >> corrupt folio. As part of the metadata reinitialization, the dev_pagemap >> must be passed in from the caller because the pgmap stored in the folio >> page may have been overwritten with a compound head. >> >> Cc: Zi Yan >> Cc: Alistair Popple >> Cc: adhavan Srinivasan >> Cc: Nicholas Piggin >> Cc: Michael Ellerman >> Cc: "Christophe Leroy (CS GROUP)" >> Cc: Felix Kuehling >> Cc: Alex Deucher >> Cc: "Christian König" >> Cc: David Airlie >> Cc: Simona Vetter >> Cc: Maarten Lankhorst >> Cc: Maxime Ripard >> Cc: Thomas Zimmermann >> Cc: Lyude Paul >> Cc: Danilo Krummrich >> Cc: David Hildenbrand >> Cc: Oscar Salvador >> Cc: Andrew Morton >> Cc: Jason Gunthorpe >> Cc: Leon Romanovsky >> Cc: Lorenzo Stoakes >> Cc: Liam R. Howlett >> Cc: Vlastimil Babka >> Cc: Mike Rapoport >> Cc: Suren Baghdasaryan >> Cc: Michal Hocko >> Cc: Balbir Singh >> Cc: linuxppc-dev@lists.ozlabs.org >> Cc: kvm@vger.kernel.org >> Cc: linux-kernel@vger.kernel.org >> Cc: amd-gfx@lists.freedesktop.org >> Cc: dri-devel@lists.freedesktop.org >> Cc: nouveau@lists.freedesktop.org >> Cc: linux-mm@kvack.org >> Cc: linux-cxl@vger.kernel.org >> Fixes: d245f9b4ab80 ("mm/zone_device: support large zone device private folios") >> Signed-off-by: Matthew Brost >> Signed-off-by: Francois Dugast >> --- >> arch/powerpc/kvm/book3s_hv_uvmem.c | 2 +- >> drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 2 +- > AMD folks, ack to get this patch through drm-misc-next or even perhaps some mm > related tree? The kfd_migrate change looks straight-forward enough for me. We don't use large device pages yet, so I guess the changes in zone_device_page_init should be safe for us. Feel free to add  my Acked-by: Felix Kuehling I have no objections to merging this through drm-misc-next. @Alex, how will this flow back into our amd-staging-drm-next branch? I guess we'll get it on the next branch rebase. There should be no rush as I don't think we're affected by the bug being fixed here. Thanks,   Felix > >> drivers/gpu/drm/drm_pagemap.c | 2 +- >> drivers/gpu/drm/nouveau/nouveau_dmem.c | 2 +- > Nouveau folks, ack as well? > >> include/linux/memremap.h | 9 ++++++--- >> lib/test_hmm.c | 4 +++- >> mm/memremap.c | 20 +++++++++++++++++++- >> 7 files changed, 32 insertions(+), 9 deletions(-) >> >> diff --git a/arch/powerpc/kvm/book3s_hv_uvmem.c b/arch/powerpc/kvm/book3s_hv_uvmem.c >> index e5000bef90f2..7cf9310de0ec 100644 >> --- a/arch/powerpc/kvm/book3s_hv_uvmem.c >> +++ b/arch/powerpc/kvm/book3s_hv_uvmem.c >> @@ -723,7 +723,7 @@ static struct page *kvmppc_uvmem_get_page(unsigned long gpa, struct kvm *kvm) >> >> dpage = pfn_to_page(uvmem_pfn); >> dpage->zone_device_data = pvt; >> - zone_device_page_init(dpage, 0); >> + zone_device_page_init(dpage, &kvmppc_uvmem_pgmap, 0); >> return dpage; >> out_clear: >> spin_lock(&kvmppc_uvmem_bitmap_lock); >> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c >> index af53e796ea1b..6ada7b4af7c6 100644 >> --- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c >> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c >> @@ -217,7 +217,7 @@ svm_migrate_get_vram_page(struct svm_range *prange, unsigned long pfn) >> page = pfn_to_page(pfn); >> svm_range_bo_ref(prange->svm_bo); >> page->zone_device_data = prange->svm_bo; >> - zone_device_page_init(page, 0); >> + zone_device_page_init(page, page_pgmap(page), 0); >> } >> >> static void >> diff --git a/drivers/gpu/drm/drm_pagemap.c b/drivers/gpu/drm/drm_pagemap.c >> index 03ee39a761a4..c497726b0147 100644 >> --- a/drivers/gpu/drm/drm_pagemap.c >> +++ b/drivers/gpu/drm/drm_pagemap.c >> @@ -201,7 +201,7 @@ static void drm_pagemap_get_devmem_page(struct page *page, >> struct drm_pagemap_zdd *zdd) >> { >> page->zone_device_data = drm_pagemap_zdd_get(zdd); >> - zone_device_page_init(page, 0); >> + zone_device_page_init(page, zdd->dpagemap->pagemap, 0); >> } >> >> /** >> diff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c >> index 58071652679d..3d8031296eed 100644 >> --- a/drivers/gpu/drm/nouveau/nouveau_dmem.c >> +++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c >> @@ -425,7 +425,7 @@ nouveau_dmem_page_alloc_locked(struct nouveau_drm *drm, bool is_large) >> order = ilog2(DMEM_CHUNK_NPAGES); >> } >> >> - zone_device_folio_init(folio, order); >> + zone_device_folio_init(folio, page_pgmap(folio_page(folio, 0)), order); >> return page; >> } >> >> diff --git a/include/linux/memremap.h b/include/linux/memremap.h >> index 713ec0435b48..e3c2ccf872a8 100644 >> --- a/include/linux/memremap.h >> +++ b/include/linux/memremap.h >> @@ -224,7 +224,8 @@ static inline bool is_fsdax_page(const struct page *page) >> } >> >> #ifdef CONFIG_ZONE_DEVICE >> -void zone_device_page_init(struct page *page, unsigned int order); >> +void zone_device_page_init(struct page *page, struct dev_pagemap *pgmap, >> + unsigned int order); >> void *memremap_pages(struct dev_pagemap *pgmap, int nid); >> void memunmap_pages(struct dev_pagemap *pgmap); >> void *devm_memremap_pages(struct device *dev, struct dev_pagemap *pgmap); >> @@ -234,9 +235,11 @@ bool pgmap_pfn_valid(struct dev_pagemap *pgmap, unsigned long pfn); >> >> unsigned long memremap_compat_align(void); >> >> -static inline void zone_device_folio_init(struct folio *folio, unsigned int order) >> +static inline void zone_device_folio_init(struct folio *folio, >> + struct dev_pagemap *pgmap, >> + unsigned int order) >> { >> - zone_device_page_init(&folio->page, order); >> + zone_device_page_init(&folio->page, pgmap, order); >> if (order) >> folio_set_large_rmappable(folio); >> } >> diff --git a/lib/test_hmm.c b/lib/test_hmm.c >> index 8af169d3873a..455a6862ae50 100644 >> --- a/lib/test_hmm.c >> +++ b/lib/test_hmm.c >> @@ -662,7 +662,9 @@ static struct page *dmirror_devmem_alloc_page(struct dmirror *dmirror, >> goto error; >> } >> >> - zone_device_folio_init(page_folio(dpage), order); >> + zone_device_folio_init(page_folio(dpage), >> + page_pgmap(folio_page(page_folio(dpage), 0)), >> + order); >> dpage->zone_device_data = rpage; >> return dpage; >> >> diff --git a/mm/memremap.c b/mm/memremap.c >> index 63c6ab4fdf08..6f46ab14662b 100644 >> --- a/mm/memremap.c >> +++ b/mm/memremap.c >> @@ -477,10 +477,28 @@ void free_zone_device_folio(struct folio *folio) >> } >> } >> >> -void zone_device_page_init(struct page *page, unsigned int order) >> +void zone_device_page_init(struct page *page, struct dev_pagemap *pgmap, >> + unsigned int order) >> { >> + struct page *new_page = page; >> + unsigned int i; >> + >> VM_WARN_ON_ONCE(order > MAX_ORDER_NR_PAGES); >> >> + for (i = 0; i < (1UL << order); ++i, ++new_page) { >> + struct folio *new_folio = (struct folio *)new_page; >> + >> + new_page->flags.f &= ~0xffUL; /* Clear possible order, page head */ >> +#ifdef NR_PAGES_IN_LARGE_FOLIO >> + ((struct folio *)(new_page - 1))->_nr_pages = 0; >> +#endif >> + new_folio->mapping = NULL; >> + new_folio->pgmap = pgmap; /* Also clear compound head */ >> + new_folio->share = 0; /* fsdax only, unused for device private */ >> + VM_WARN_ON_FOLIO(folio_ref_count(new_folio), new_folio); >> + VM_WARN_ON_FOLIO(!folio_is_zone_device(new_folio), new_folio); >> + } >> + >> /* >> * Drivers shouldn't be allocating pages after calling >> * memunmap_pages(). >> -- >> 2.43.0 >>