[{"id":3633200,"web_url":"http://patchwork.ozlabs.org/comment/3633200/","msgid":"<3bd6af70-7b76-4938-9d56-e74ba0b202d8@amd.com>","date":"2026-01-08T22:00:33","subject":"Re: [PATCH v2 02/11] drm/amdkfd: Use migrate pfns internally","submitter":{"id":72997,"url":"http://patchwork.ozlabs.org/api/people/72997/","name":"Kuehling, Felix","email":"Felix.Kuehling@amd.com"},"content":"On 2026-01-07 04:18, Jordan Niethe wrote:\n> A future change will remove device private pages from the physical\n> address space. This will mean that device private pages no longer have a\n> pfn.\n>\n> A MIGRATE_PFN flag will be introduced that distinguishes between mpfns\n> that contain a pfn vs an offset into device private memory.\n>\n> Replace usages of pfns and page_to_pfn() to mpfns and\n> migrate_pfn_to_page() to prepare for handling this distinction. This\n> will assist in continuing to use the same code paths for both\n> MEMORY_DEVICE_PRIVATE and MEMORY_DEVICE_COHERENT devices.\n>\n> Signed-off-by: Jordan Niethe <jniethe@nvidia.com>\n> ---\n> v2:\n>    - New to series\n> ---\n>   drivers/gpu/drm/amd/amdkfd/kfd_migrate.c | 15 +++++++--------\n>   drivers/gpu/drm/amd/amdkfd/kfd_migrate.h |  2 +-\n>   2 files changed, 8 insertions(+), 9 deletions(-)\n>\n> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c\n> index ca552c34ece2..c493b19268cc 100644\n> --- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c\n> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c\n> @@ -204,17 +204,17 @@ svm_migrate_copy_done(struct amdgpu_device *adev, struct dma_fence *mfence)\n>   }\n>   \n>   unsigned long\n> -svm_migrate_addr_to_pfn(struct amdgpu_device *adev, unsigned long addr)\n> +svm_migrate_addr_to_mpfn(struct amdgpu_device *adev, unsigned long addr)\n>   {\n> -\treturn (addr + adev->kfd.pgmap.range.start) >> PAGE_SHIFT;\n> +\treturn migrate_pfn((addr + adev->kfd.pgmap.range.start) >> PAGE_SHIFT);\n>   }\n>   \n>   static void\n> -svm_migrate_get_vram_page(struct svm_range *prange, unsigned long pfn)\n> +svm_migrate_get_vram_page(struct svm_range *prange, unsigned long mpfn)\n>   {\n>   \tstruct page *page;\n>   \n> -\tpage = pfn_to_page(pfn);\n> +\tpage = migrate_pfn_to_page(mpfn);\n>   \tsvm_range_bo_ref(prange->svm_bo);\n>   \tpage->zone_device_data = prange->svm_bo;\n>   \tzone_device_page_init(page, 0);\n> @@ -225,7 +225,7 @@ svm_migrate_put_vram_page(struct amdgpu_device *adev, unsigned long addr)\n>   {\n>   \tstruct page *page;\n>   \n> -\tpage = pfn_to_page(svm_migrate_addr_to_pfn(adev, addr));\n> +\tpage = migrate_pfn_to_page(svm_migrate_addr_to_mpfn(adev, addr));\n>   \tunlock_page(page);\n>   \tput_page(page);\n>   }\n> @@ -235,7 +235,7 @@ svm_migrate_addr(struct amdgpu_device *adev, struct page *page)\n>   {\n>   \tunsigned long addr;\n>   \n> -\taddr = page_to_pfn(page) << PAGE_SHIFT;\n> +\taddr = (migrate_pfn_from_page(page) >> MIGRATE_PFN_SHIFT) << PAGE_SHIFT;\n>   \treturn (addr - adev->kfd.pgmap.range.start);\n\nI guess we rely on the fact that for DEVICE_PRIVATE memory, \nadev->kfd.pgmap.range.start will be 0 after your patch 11. So we don't \nneed a special condition here to handle DEVICE_PRIVATE differently.\n\nIn general, I like the way you handle mpfns as it keeps all the special \ncasing out of the drivers.\n\nRegards,\n   Felix\n\n\n>   }\n>   \n> @@ -301,9 +301,8 @@ svm_migrate_copy_to_vram(struct kfd_node *node, struct svm_range *prange,\n>   \n>   \t\tif (migrate->src[i] & MIGRATE_PFN_MIGRATE) {\n>   \t\t\tdst[i] = cursor.start + (j << PAGE_SHIFT);\n> -\t\t\tmigrate->dst[i] = svm_migrate_addr_to_pfn(adev, dst[i]);\n> +\t\t\tmigrate->dst[i] = svm_migrate_addr_to_mpfn(adev, dst[i]);\n>   \t\t\tsvm_migrate_get_vram_page(prange, migrate->dst[i]);\n> -\t\t\tmigrate->dst[i] = migrate_pfn(migrate->dst[i]);\n>   \t\t\tmpages++;\n>   \t\t}\n>   \t\tspage = migrate_pfn_to_page(migrate->src[i]);\n> diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.h b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.h\n> index 2b7fd442d29c..a80b72abe1e0 100644\n> --- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.h\n> +++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.h\n> @@ -48,7 +48,7 @@ int svm_migrate_vram_to_ram(struct svm_range *prange, struct mm_struct *mm,\n>   \t\t\t    uint32_t trigger, struct page *fault_page);\n>   \n>   unsigned long\n> -svm_migrate_addr_to_pfn(struct amdgpu_device *adev, unsigned long addr);\n> +svm_migrate_addr_to_mpfn(struct amdgpu_device *adev, unsigned long addr);\n>   \n>   #endif /* IS_ENABLED(CONFIG_HSA_AMD_SVM) */\n>","headers":{"Return-Path":"\n <linuxppc-dev+bounces-15437-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256\n header.s=selector1 header.b=nq8/A2of;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-15437-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=pass smtp.remote-ip=52.101.53.68 arc.chain=microsoft.com","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=amd.com","lists.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256\n header.s=selector1 header.b=nq8/A2of;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=amd.com\n (client-ip=52.101.53.68; helo=bl0pr03cu003.outbound.protection.outlook.com;\n envelope-from=felix.kuehling@amd.com; receiver=lists.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=amd.com;"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dnJlD5hNFz1xpV\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 09 Jan 2026 09:01:27 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dnJlB0vwdz2yFg;\n\tFri, 09 Jan 2026 09:01:26 +1100 (AEDT)","from BL0PR03CU003.outbound.protection.outlook.com\n (mail-eastusazon11012068.outbound.protection.outlook.com [52.101.53.68])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange secp256r1 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4dnJl82yJLz2y6G\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 09 Jan 2026 09:01:23 +1100 (AEDT)","from BN9PR12MB5115.namprd12.prod.outlook.com (2603:10b6:408:118::14)\n by DS0PR12MB7801.namprd12.prod.outlook.com (2603:10b6:8:140::10) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.2; Thu, 8 Jan\n 2026 22:00:36 +0000","from BN9PR12MB5115.namprd12.prod.outlook.com\n ([fe80::9269:317f:e85:cf81]) by BN9PR12MB5115.namprd12.prod.outlook.com\n ([fe80::9269:317f:e85:cf81%7]) with mapi id 15.20.9499.003; Thu, 8 Jan 2026\n 22:00:36 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1767909686;\n\tcv=pass;\n b=fUhXDUr8v2FKAC88fL4wLERSV9S+qxY0RtkB8b/I1r73gwND2PpH1/KZ9KqU4bEabeZJMYS/vGJNaMNMd608SMUuXM8nSczWNwXnzgwF2zZrk3yLVUan3JrX9RLOLf/WGBqjyOR9iRjQKKLH/AlrOKhmfXY8+yktoZDtNHXYLEfncE2/Y/YXJqZsTlYKH1y8jjScwswflCqOLdO4G/0EiSaKQ/cpLG7iTfuS/T4aPkvanub2006MVQrHbSbX8lHhWQN8ACVMw7npCgIREJCX3UWQaYgtcE7yYTbN4fJ/yAzC87rdm56/igZOeTdz/Jyi4S24j0KHcQOf/OMQT0DUrw==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=bErfc4E4cII1xG39StNfR4+x1QaVPHAZExsYk1XpLCQDs8itNCfJtzdxqAR2Ee0VFUNqQeLJKfHWwJ5ZXpYowAClm3cxCwVqOiCrGZKIbF2wtHCWiAZSODrWAgSKnEETX4wYCGCGR+/PtaYrdPb5BTfygyBPQ9v4M+A4wR5Gry7/wSaJS1TWyM2IF6XQz2JFBO/gpbNB3VMzhtdvCBP09+d9ZqT8QqcYQ+oJJ+wxL8zig7767DkVZxW65FIWv+7327+RQWqfQmI2FzrLg0EO7SXWTLf2b+GF3U5XZbDEWkEGHeMpcrJCHgMTNpugDoE4IUYpRrGB/tFj8zhS10GnNQ=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1767909686; c=relaxed/relaxed;\n\tbh=h8jM/hfD6aFbo3SFoDlkdrKzYEBhiqDK71DJoNc+j6Q=;\n\th=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:\n\t Content-Type:MIME-Version;\n b=if+g4mvEZVNUWvRv3QbpdU3pu9nVYhUjyf+lzDBHVI/WVGoNi8MLy0rofQp94Ayu0TLRFRcEvjUINH65M1iTey4ln/aJdeWus/5aG9k0hZWzXYANBJWB0ndlrU7LOyHvLT84RPrFMffGjSrsNU6Y/j4R2Gei+cfRfJWhrSd9BtMafcNKg2I+3tAcn1z8jTXDMhkgN0Mrgnd1NHcmJMFUpCFHUUPAdS2yrfyGMX5drDlbRNvj60s8oztGb0u0PHgIxpuHxRXwc5h9EfgH+ua69dsg+R7TH45gtN54LVOyS6AsrNK9Oo3VrM1esAc0lviBuobt50KShI0MzJFn+22Mfw==","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=h8jM/hfD6aFbo3SFoDlkdrKzYEBhiqDK71DJoNc+j6Q=;\n b=Pohn+2hqY7exKAaGc8fi3RBDLOJoJexV1BBpwEQ+lHyZbSypd3Mi3/UhP8z2Qv0X33CP2BqVbjQusOuVNFjkej+A7fcjzJR0MO1lk65xo/QcsBmS4lBLB+4WvaLn1ly5jhdTpsCCjaR8GeoKX3FmPc3FiOJMU+trNv6zSRKJ0MN8wf4pcaV3SzmPL0Nqgrimh1tSPYjUZ5ikJW80joDUBcDXIIDR9okf4ZGE+rz/HmK5yninut8s0zVu5VSn1RBYCWqBhF9HNxvH4YV7Xn3MNSDk5X6AkxGMozi70FckRnGGmPa9mRGhhfsOdGl+nUvw6LCA2Jf7z7BQJhE7kwH+kw=="],"ARC-Authentication-Results":["i=2; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=amd.com;\n dkim=pass (1024-bit key;\n unprotected) header.d=amd.com header.i=@amd.com header.a=rsa-sha256\n header.s=selector1 header.b=nq8/A2of; dkim-atps=neutral;\n spf=pass (client-ip=52.101.53.68;\n helo=bl0pr03cu003.outbound.protection.outlook.com;\n envelope-from=felix.kuehling@amd.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=amd.com","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass\n header.d=amd.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=h8jM/hfD6aFbo3SFoDlkdrKzYEBhiqDK71DJoNc+j6Q=;\n b=nq8/A2of6tEz478qtgH4RiV+NhxykWkCcjykZVIeYMlCmBmiKubXRHlxdG9j9pkIZkBXI4VTs4YlrePlnjG7QP9uK29VpeHlYpiGJ7rk+6CSvD2YywA/fTTXp3Eu5xuPc8r6eUnMGZYGE/XwoQdKjQPhs6hNi7I3C70vSaafCnc=","Message-ID":"<3bd6af70-7b76-4938-9d56-e74ba0b202d8@amd.com>","Date":"Thu, 8 Jan 2026 17:00:33 -0500","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 02/11] drm/amdkfd: Use migrate pfns internally","To":"Jordan Niethe <jniethe@nvidia.com>, linux-mm@kvack.org","Cc":"balbirs@nvidia.com, matthew.brost@intel.com, akpm@linux-foundation.org,\n linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,\n david@redhat.com, ziy@nvidia.com, apopple@nvidia.com,\n lorenzo.stoakes@oracle.com, lyude@redhat.com, dakr@kernel.org,\n airlied@gmail.com, simona@ffwll.ch, rcampbell@nvidia.com,\n mpenttil@redhat.com, jgg@nvidia.com, willy@infradead.org,\n linuxppc-dev@lists.ozlabs.org, intel-xe@lists.freedesktop.org, jgg@ziepe.ca","References":"<20260107091823.68974-1-jniethe@nvidia.com>\n <20260107091823.68974-3-jniethe@nvidia.com>","Content-Language":"en-US","From":"Felix Kuehling <felix.kuehling@amd.com>","Organization":"AMD Inc.","In-Reply-To":"<20260107091823.68974-3-jniethe@nvidia.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-ClientProxiedBy":"YT4PR01CA0289.CANPRD01.PROD.OUTLOOK.COM\n (2603:10b6:b01:10e::29) To BN9PR12MB5115.namprd12.prod.outlook.com\n (2603:10b6:408:118::14)","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"BN9PR12MB5115:EE_|DS0PR12MB7801:EE_","X-MS-Office365-Filtering-Correlation-Id":"c24658f3-7567-4211-06d9-08de4f015a39","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"\n\tBCL:0;ARA:13230040|1800799024|366016|376014|7416014|7053199007;","X-Microsoft-Antispam-Message-Info":"=?utf-8?q?RhIRuSu1xUipfvq7C5Jg6pxTGqXR1uo?=\n\t=?utf-8?q?UeOkZkRYboYNZnxY//RF0WPa93lnniFYQAj7Z9sL80AMO3Yzvmrr5f3XUoqA947Nb?=\n\t=?utf-8?q?riX4b3qLLozzzaH5KuFVt5WhVDpA8ffSm3BaG5uBHezDuyudV8Yt/2PmQjL4MxRz6?=\n\t=?utf-8?q?1JZQ3m0zJb8vAwwJRUNLmof4BSEwptA4233zDKipq1aTAmGtk5uWXeVn0D85LsABl?=\n\t=?utf-8?q?yRKnJCElrde7r9gQHJuare7mEpFi8pQZ2falAnpp1t1io8oVTur3m0JQnJPwNfXt6?=\n\t=?utf-8?q?Wl0YQ9YdYT4uPiBUGrBbsssFh0mE3Se4ZTSnsntJuJowXAoXKudd5JSjJgDL3zqa8?=\n\t=?utf-8?q?bwQMPpyqjZ7yxuxwzEpjS3m6Uydx8ePpIMBFdgqRf68O3uPLhcsS1aJtSzwPOWnlE?=\n\t=?utf-8?q?D5gIZOmZSNQbQE0uGrT9AaKbXFk3IG2C6nO7h8jx3QF5p47MEwTVMWuqJdgzzgyrc?=\n\t=?utf-8?q?hSmgecY/tAUt9PcAuXGLC08585gij0tBVsJzDn7sVvVRCsxT5QBmCn0Kv8ssslG9U?=\n\t=?utf-8?q?k9BpH/OlJTUrxvWUtEknSt3CNYQ96kUP+VyzpKgu+sm4zB9LeeTLTvebkKD2271s9?=\n\t=?utf-8?q?1zidMBKbcim6hLI5ryTEdvuwNJ+oalzrSyKpuzTUNtUO0HILZobjTkCJYPf1FnnDi?=\n\t=?utf-8?q?53n/LQUl+ZbcrxHsi48OOD3GuhtBno1SZFr/53V3fKVJkv7Jrn/Wk3x87oACGQxBK?=\n\t=?utf-8?q?GlqanZCna6z/iZdCzyuawP2wipQTdncKgRipnEETX++7u/velw/VkzefQIwVhQV3a?=\n\t=?utf-8?q?iL3dfDQLOloiOG5zSIBrze7nt1lkEy1RPnpUuEc2CRroMLArFkBpE8R/Ku6vZfRcb?=\n\t=?utf-8?q?hqyWuFo6AfSi6vB6C2W9MrFG4fuWMtT3vxb3npCpFDDcmFQvniC+D8j/yPPtFDQNc?=\n\t=?utf-8?q?+9l5z3VFBfOIisOF1vt+s4+BxDhMqhqPOp5T5mb4WjjPXuROzbsaI1EAiThyiVd6j?=\n\t=?utf-8?q?siNHWWVIl8DnJcj/UkxtugRkedv5pCMjMjQ8L8EJgTc7LahuxccrwA9yLQlsFXEj6?=\n\t=?utf-8?q?gM0ktDePyLca4smllrB1YMDGLg4giiNWRo1DyqpGgFUW/tTIkWg8RYWZCWfVO46SG?=\n\t=?utf-8?q?ce2g8b9YpoZzp3J3yq/nGaOtd3NvzL6eTklbJnEklvrB7DJnzu3qKddOm7gU2sKmf?=\n\t=?utf-8?q?rQFDgXFddAth+ZM9TtDTW1ht51NXGX164n/WGdSB/NT8CnJfCBSdwr4rIEwnuReA+?=\n\t=?utf-8?q?4iMSnozI31Cd5lkHwKQeQmFVgQQnE9DfR+rn1cx0GtplmlZjRgihThtx5Vi8UJ/Qi?=\n\t=?utf-8?q?fLUuD47uK4tlBPzzmHRRU+dgeGwJy0N1H7ymE0z7kKAvOXF65tzWAa2Q57rnlHHnn?=\n\t=?utf-8?q?+Cw4wuvlvm/j9BIA8NskY3ElbzbMezEMSPQolf4yYKIyrpeYPK2sQzz7W6Tco1uMk?=\n\t=?utf-8?q?DRr67R3MUS0?=","X-Forefront-Antispam-Report":"\n\tCIP: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)(1800799024)(366016)(376014)(7416014)(7053199007);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?hAQpexm6fyUjgsvbbXv0V+b5bMuo?=\n\t=?utf-8?q?I1LaAryqr854/kw/4I2rtA1EPig1LEHzbe2wHJl/o8hInWuuGDAlq/jnKKcOLYIXA?=\n\t=?utf-8?q?FGFQT9jXcmvdTmrNYX9Y8X/IDXuI5gquvx9+VXM8bTWpEq7v/D/3F4Q2T6174r7x2?=\n\t=?utf-8?q?78cSZHLE+Hy7UthLSS5mrf4PXELY+p7dC1jCDI0aTpEDXkUgQ1r4It1EFp2C09BWN?=\n\t=?utf-8?q?RfC6YibR43u4zkDKVxttLXlaZn4o7gTukr6k0V123K1Jj+iJG1jz4qm/mek1vhWZS?=\n\t=?utf-8?q?V7HzLzScYaAMmNsrpAXOJZO0d9R8lIrmJh9f60fqSdo5/9o1UN3Ex8KnqTfRPk1N+?=\n\t=?utf-8?q?KL5/C9F4+1UOsva91S+GfQnqesSata1MlfmRx8Um/78UAdE0xnyHaGWBw3hmTXiHK?=\n\t=?utf-8?q?bLb2EVAt/3FRotjaDwUZUq9w9sxSkQFgT+/N6hN6f7wz+IbIDmMjdziNXaxF4SkLI?=\n\t=?utf-8?q?uv5/gxN0i+kIjlixa89d46keSiFduGoIuuHtfJsWu9kX2UothBaC59EXl5fcgyyEt?=\n\t=?utf-8?q?clTvPo+Guj5cYeuxZatooVMI2imwdQ4CFUdH5XHCRQH4YjZEUvDdyXRGyHENqwJAP?=\n\t=?utf-8?q?R66wjq3WZc2tyNoyztb4xCm1iOQE/t7Me1YBUg1TbN70H6ydG4Brk8V7j1qRASbXt?=\n\t=?utf-8?q?EK/g6nIh6EzH8iP98dlTrMNgTc72Xh58yWVAytNNreSFi6sZEhD3jrO0WK6QyFEYW?=\n\t=?utf-8?q?gm9OEurOMU7f5HAU7/xqhNdCCDwV6k7hjB9u/VEVkE/zCqMoYhrzxudBGQrgLN1F4?=\n\t=?utf-8?q?eciRGArRelVbftVJr1QO1M2v8glwdra1xpTz4YWfzjSn0Khizu/r1UoNhy3FbzoVI?=\n\t=?utf-8?q?COk1VVTXA0aheVZPxu1K2BfcnAnflcaervn+XbYF8DyZuTinHp5KSnOmGq0jScFKH?=\n\t=?utf-8?q?M3lwDwERf0kdltaMNIFZxWxsNio08TJGyPtN0/J9BX7XqXqlLNwHPCrp0nCrvRdpo?=\n\t=?utf-8?q?gUuoHHjfSGhoyLdYva3v8iqVCwRp8E8xaR80ZzMgHkcin8TcG4bGksOu0vQqmWGJY?=\n\t=?utf-8?q?1eC0AOuzi16WPmPf+MVrNvzGlGsOEiQDQZmSOfoawkt5Q3pBUIvqe1sy+OHl/EZ4Y?=\n\t=?utf-8?q?10systM1tKfxE8cRfmYvoTJ2+G+SzK4PjAmDpVK+54HoHnrTh+SygcE6FbitUElUZ?=\n\t=?utf-8?q?EDmxY+0rqWm8tnknlZR+MjAKPrChFFehK+LQt4WYpIRL0c1sfs865z7qDf0P4+qUn?=\n\t=?utf-8?q?In762ttaUfmW5xZVlMBECi4iDqQPh/xoeWZaklQgQ+rGYMle73NfVuISqgJIPfaZF?=\n\t=?utf-8?q?H3825Wna0liaJF3qmoi0DyI9+gSg8UUC7JzOVdHW0LjZfX4R4QGjc7K8ezOglP6hb?=\n\t=?utf-8?q?DYUENgOncMB35b81uvTBj+Hp6eYn4c0Su43MqAc6qWJsajY1LGj3HMqprnXU7SAE5?=\n\t=?utf-8?q?mOIRZCvZK4T3hXC+Is6FW9SODhWJKpgrFTd/1Ytws6sm1FjCCTuwBdhiqJP8vfAlq?=\n\t=?utf-8?q?95QiIgy5+jNWciFbpj79o8uaJX3SsvGjDCwip3/DKptye92hMZFtr8ru0ke56ODHv?=\n\t=?utf-8?q?x7kD/CZ829u8NGYs4+vN3OW7oocMhxY7jq5EDL8j5h927JzTNGzRw+Eu1mZOjC02/?=\n\t=?utf-8?q?u6p3OvY5DdfP9VoCOgVumBDVQSldGIIVAuTu4IheJ6j7G4WebG3Nt+IJimtFbPgHO?=\n\t=?utf-8?q?ICX5Vyfo2Wrzudwg340oLSLkqRMj1XOQ=3D=3D?=","X-OriginatorOrg":"amd.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n c24658f3-7567-4211-06d9-08de4f015a39","X-MS-Exchange-CrossTenant-AuthSource":"BN9PR12MB5115.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"08 Jan 2026 22:00:36.1881\n (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":"\n E0RnqX15fZM6yr21RtDICr/tX824+WeYh1bccky6q6VLDku79h9UgF8Hlv/9JNWzZtMQQ9hFcRb0EEDkAqm3mg==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DS0PR12MB7801","X-Spam-Status":"No, score=-0.2 required=3.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n\tRCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS autolearn=disabled\n\tversion=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3633226,"web_url":"http://patchwork.ozlabs.org/comment/3633226/","msgid":"<c1938b35-a9f0-4183-9da4-91f434d49ae2@nvidia.com>","date":"2026-01-08T23:56:37","subject":"Re: [PATCH v2 02/11] drm/amdkfd: Use migrate pfns internally","submitter":{"id":92354,"url":"http://patchwork.ozlabs.org/api/people/92354/","name":"Jordan Niethe","email":"jniethe@nvidia.com"},"content":"Hi,\n\nOn 9/1/26 09:00, Felix Kuehling wrote:\n> \n>> @@ -235,7 +235,7 @@ svm_migrate_addr(struct amdgpu_device *adev, \n>> struct page *page)\n>>   {\n>>       unsigned long addr;\n>> -    addr = page_to_pfn(page) << PAGE_SHIFT;\n>> +    addr = (migrate_pfn_from_page(page) >> MIGRATE_PFN_SHIFT) << \n>> PAGE_SHIFT;\n>>       return (addr - adev->kfd.pgmap.range.start);\n> \n> I guess we rely on the fact that for DEVICE_PRIVATE memory, adev- \n>  >kfd.pgmap.range.start will be 0 after your patch 11. So we don't need \n> a special condition here to handle DEVICE_PRIVATE differently.\n\nActually pgmap.range.start won't be zero - part of the change to the\nmemremap_device_private_pagemap() in patch 11 is that range is used as an\noutput parameter.  It returns the range we allocate for the pagemap from the\ndevice_private_pgmap_tree maple tree, representing \"device private address\nspace\".\n\nBut it's correct that means we don't need special handling here.\n\n> \n> In general, I like the way you handle mpfns as it keeps all the special \n> casing out of the drivers.\n\nYeah, it does turn out quite neat.\n\nThanks for review,\nJordan.\n\n> \n> Regards,\n>    Felix\n> \n>","headers":{"Return-Path":"\n <linuxppc-dev+bounces-15440-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=IC/cXAok;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=112.213.38.117; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-15440-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=pass smtp.remote-ip=52.101.193.26 arc.chain=microsoft.com","lists.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=IC/cXAok;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nvidia.com\n (client-ip=52.101.193.26; helo=ch1pr05cu001.outbound.protection.outlook.com;\n envelope-from=jniethe@nvidia.com; receiver=lists.ozlabs.org)","dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=nvidia.com;"],"Received":["from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4dnMK70xC9z1xqD\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 09 Jan 2026 10:57:30 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dnMK52m09z2yFg;\n\tFri, 09 Jan 2026 10:57:29 +1100 (AEDT)","from CH1PR05CU001.outbound.protection.outlook.com\n (mail-northcentralusazon11010026.outbound.protection.outlook.com\n [52.101.193.26])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange secp256r1 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4dnMK41Lv0z2y6G\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 09 Jan 2026 10:57:27 +1100 (AEDT)","from DM4PR12MB9072.namprd12.prod.outlook.com (2603:10b6:8:be::6) by\n DS7PR12MB5766.namprd12.prod.outlook.com (2603:10b6:8:75::12) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.9412.13; Thu, 8 Jan 2026 23:56:47 +0000","from DM4PR12MB9072.namprd12.prod.outlook.com\n ([fe80::9e49:782:8e98:1ff1]) by DM4PR12MB9072.namprd12.prod.outlook.com\n ([fe80::9e49:782:8e98:1ff1%5]) with mapi id 15.20.9499.002; Thu, 8 Jan 2026\n 23:56:46 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1767916649;\n\tcv=pass;\n b=jeW4QCIjt2M7akYrPWgHEh/lKLkpBXSNoYOIHmLD0ht6sSQ50HVyfvWWzthew4YLfWBFhXH6rispxRbih2SS/mG7oK3jQ56gp+lkzZ8uBrWxIRq1cOLBFpT828TJSti/AOmqoONN7oCzXHwwE6qTye+NLGMJuqBixz6leMzNnMk28SEjCq5fvpB0uCfnB67MBuGie7tj1JbZoj5C0DnwHhQ+FDG0lZ2H/1qcCZ+gFvgh3ZOhD/iRx/xHXvmsqSdppuzwT9KuTTEhacr2YbBeJpvocnGw0fhINSfhUy02dVbKh7n/edv+aM0Iqv3BCLPrpNixFP18eSd3PZIOTQz3Eg==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=kroaHjuAstAqpKM/Z8Ft00tO/sCXF7toKW2fTlYWKfnlzymRPrwVg5JrE/TuwGXMwRhOtmI8z6w2BP6MNI+k7UPNEZCT2Wl694ynWSVUSv7GPmvdBB2EYYto/rYzmlJe7TYdYjbzpOoUN68Ui/oFxfm2tHdvaQG5e4itn4FI5mRyQ8oV6DxKaROcacwA6vIlXG+D/C01uQvmdDuB95wJvK4hXScGbCzR5IxQGws3QsRf6p45MCl2lt/AnzaJEjIUvrDMnWpCyzeuLDAUiZAxrvibvCoGVrwuJB5o1WxqcjALG2EztFC8Txe62eKVzq5BUGWkccfehIEOFoPb0C7UzA=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1767916649; c=relaxed/relaxed;\n\tbh=LnlghJIKm7Q/6WamgAsZeomBm8rvRfibPG0F5wNRrzw=;\n\th=Message-ID:Date:Subject:To:Cc:References:From:In-Reply-To:\n\t Content-Type:MIME-Version;\n b=QRjNG/eFlZQY5C8f/Y+nP/xZ2DyBYYxMWX20zxLF7P3VIjXMnSjo7baGBIvVp9m/bXRv7zkzL4S0SNlxR/VOJZ+gGrCuce/IyfHLUDBS5WL853AbnSezyrz0QCnZzPBMwX3R5V1Sz8toQN/JXOheHnUvpsN8mZqFsHbeZiydVBIQ+8SxD0Ol/OU2wRoTLhykKg8aGuY1CP/ICGg+avjfSsJwzQj4/zqjKPq9PCrqFsBuOR93rYbRnesLzEblGlFIi9FciTrOogpgWhdc7Jebq7JJkyyE813te7OVRMZu4IWdv2yuTp9vPPD+RhkX31tecS60l1/QS4yzP/3lMrLxTw==","i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n 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;\n bh=LnlghJIKm7Q/6WamgAsZeomBm8rvRfibPG0F5wNRrzw=;\n b=jVwHu2AXKhOU34MHJwWOZfp0CEZLJsRPjLGkmbbCbx8U9O84+irWunZu3gvnMxEaQyNIy+VaQ426J49hh+er5HSWIZuZzMx62iffO3y/jTYhPTOJ69q4xlY++f5sg0H3G4YNUG8sBLPTVkrPPdV4kKjxZhC//ejFBSKXNS1BtruHi71ZO2MrcWh666OhzW1fqbtaUzzZ4H3kd/MqjW3aYQU9njd2Qh2w18tSsxFPf97ULxcWEnu5V434FwVKvw05jBSN3Cxonb+pJ5uIUb5P8lKUKwCk4Yn3xqbNbbIpc7QUskx7nn1NwObvMSG5iQI4VTfupkAaOMZBpfDN0j9QBA=="],"ARC-Authentication-Results":["i=2; lists.ozlabs.org;\n dmarc=pass (p=reject dis=none) header.from=nvidia.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=Nvidia.com header.i=@Nvidia.com header.a=rsa-sha256\n header.s=selector2 header.b=IC/cXAok; dkim-atps=neutral;\n spf=pass (client-ip=52.101.193.26;\n helo=ch1pr05cu001.outbound.protection.outlook.com;\n envelope-from=jniethe@nvidia.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=nvidia.com","i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com;\n dkim=pass header.d=nvidia.com; arc=none"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com;\n s=selector2;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=LnlghJIKm7Q/6WamgAsZeomBm8rvRfibPG0F5wNRrzw=;\n b=IC/cXAokxdRALHindZOzbYUaNAKvWzAQove1VsgaT4JwJ/G7MSsqZqdQIDYBslO6vLjx/9d+7T1oLddrlcp+oT2nRLi/sNyKCkbGS8Ez+RoVlSvFmTLwqribKXu+QDAOudWwMS2s9t9SvTMuWUkm5nAhqYn9SeUIeI+TvmPkykp4vPB1xutLR1RVvJGk2boqZJwnoq7c7hv9LTfBFrd8mnw/7qnWRS5MrPPx7OyTwi2kg6VVLNh0dmk6p5Mb9xMTwPV5haYNv4YUiB9qU5pEjyJPXIfkSPRHx4hqy78X0syCL7uZ0sFazwnuYqV8kG+paP6oguA3zHh2zlvldMgpuA==","Message-ID":"<c1938b35-a9f0-4183-9da4-91f434d49ae2@nvidia.com>","Date":"Fri, 9 Jan 2026 10:56:37 +1100","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v2 02/11] drm/amdkfd: Use migrate pfns internally","To":"Felix Kuehling <felix.kuehling@amd.com>, linux-mm@kvack.org","Cc":"balbirs@nvidia.com, matthew.brost@intel.com, akpm@linux-foundation.org,\n linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,\n david@redhat.com, ziy@nvidia.com, apopple@nvidia.com,\n lorenzo.stoakes@oracle.com, lyude@redhat.com, dakr@kernel.org,\n airlied@gmail.com, simona@ffwll.ch, rcampbell@nvidia.com,\n mpenttil@redhat.com, jgg@nvidia.com, willy@infradead.org,\n linuxppc-dev@lists.ozlabs.org, intel-xe@lists.freedesktop.org, jgg@ziepe.ca","References":"<20260107091823.68974-1-jniethe@nvidia.com>\n <20260107091823.68974-3-jniethe@nvidia.com>\n <3bd6af70-7b76-4938-9d56-e74ba0b202d8@amd.com>","Content-Language":"en-US","From":"Jordan Niethe <jniethe@nvidia.com>","In-Reply-To":"<3bd6af70-7b76-4938-9d56-e74ba0b202d8@amd.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","X-ClientProxiedBy":"SYCP282CA0018.AUSP282.PROD.OUTLOOK.COM\n (2603:10c6:10:80::30) To DM4PR12MB9072.namprd12.prod.outlook.com\n (2603:10b6:8:be::6)","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","X-MS-PublicTrafficType":"Email","X-MS-TrafficTypeDiagnostic":"DM4PR12MB9072:EE_|DS7PR12MB5766:EE_","X-MS-Office365-Filtering-Correlation-Id":"6164d893-3d9c-4569-55bc-08de4f119500","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;ARA:13230040|366016|1800799024|376014|7416014;","X-Microsoft-Antispam-Message-Info":"=?utf-8?q?OSELd1rCCSlIc6K7Ijn+wNu+IjmdD6U?=\n\t=?utf-8?q?EW1vF9I4iEGEaI4+x7g90p+ehH7AO6Tb/RRou4u5/8Swjk3/pLiq/8yEx/6RBFS2T?=\n\t=?utf-8?q?rMERUgHF6nDWLvNeaOpP1ksbyEKa5TVghHO2vf7RNMdwDpl141tEMI/6uL/dyTDSO?=\n\t=?utf-8?q?vQAQ9Xz326hehZDWgqdIK0MSsAmjfe9rkOQJJLdF8XGAMrRr1oxpKSVKVDr21ImtU?=\n\t=?utf-8?q?9Or8tBIUjDvQZ96uU9dKfaRb4vc2zsGl0p6PEiMf/hO9N0yFNvNZnWfKcw9yolORs?=\n\t=?utf-8?q?h9ot0B9eDKbvcNdlG/eFerJopN3fbO4jYwupl3RNx3yswI1DuZ7oGicFUM+fqWTyD?=\n\t=?utf-8?q?g91vfLOA6fL3cZSr6ORjP7ijiMNzZvM9PAgXS7nsQs4HMKelkw+EgMr6HE78Bd4zZ?=\n\t=?utf-8?q?Zu9kNGrBrCX/jHKH0Uf9/Xo+y6vHuv23+lFbmgYz/DjpiCwTl/oUCprRf5vDNLTpW?=\n\t=?utf-8?q?oPhC+52jOj9r2qTaWUl345G4IJMfzeT1XDJfKVu+p2USDtDDMRIt94QxOzZrrn+lS?=\n\t=?utf-8?q?msvp8AUrsSH0Scl9kvCMLNTgsrZPqZhEecfGMepZWvb28saeBr5mZz7X3V6CCILLP?=\n\t=?utf-8?q?H/54cH1ldh10t/NPPPhEKh9kSsgbQuqmjcpWBZq30l0/LL/BNNEAdB68kHQm08Ptd?=\n\t=?utf-8?q?OxoLo+aZky71wH5fCKmRGPOcuWIU9uEGAHx2R2vfVkyAADxv3P8xabLNpS+Qvbn1k?=\n\t=?utf-8?q?w/JTJwB9KNlV6+cuCDJwyAndO8R9n2/Yd3ADh+sdYU71cyncXlNYamKHfv9ScI9Ik?=\n\t=?utf-8?q?JHheJt4A65zZIbwfycfufqJxRRMex/PTSVhrfGs3+VHNFja3K6Fvm3Ugsek+oH2Gl?=\n\t=?utf-8?q?1MAshsUtl1lJ+iPV5DKDXAnsIGKrPY+3qeYEIzBJ1OUrZex1ofizAqxVwbI2rn0pa?=\n\t=?utf-8?q?5Q0Jzam2lHovnRAZdhLMkUYMLmbZRYVELZs1fb5kaJxP8xmrUCvG18UAkABYYeXLm?=\n\t=?utf-8?q?nRajrBfi56Gaf/ZdLYWBB01oDASRXOdzTV2i1J8QKgvAi/loH6jT/eaX/cZUEjCrN?=\n\t=?utf-8?q?ZqDG66Dg0zfCYThxM9oHhd0Xi03Uno0PP+85NyMDT59xl+06Yc8z7+MT6rSdIpTzX?=\n\t=?utf-8?q?Ax28PVZhBaMeOl4FuhsuE+YHs+gkOj+JZ4zfsjiG0wdzB4y7hGbPDV4M10VdGujlV?=\n\t=?utf-8?q?veFmj/zAfMo62MDYqjmpEmIrauRGWMiz2eVntZ1PzpPeY8XAvviNU1hIDUo6d/zPU?=\n\t=?utf-8?q?p8vF5m/cWsjxp7YtZ8cTc+JIJLMTV/bBa8s/7kf1Axq9oR2gzPWiIWgXVczu0LvEZ?=\n\t=?utf-8?q?XeA5bwWP+bP+y/RlEyMsfJlsAmcsklAdIwedPuIiewOrKPfnCVJzC5+xwAZ/h5lzf?=\n\t=?utf-8?q?2u1NmYp6BYCmeakm0CjihETgaoVCiW6koouDQr5TDijLUDodlLvk6Ro3j5p40/CLo?=\n\t=?utf-8?q?DR3E2ZxafUq?=","X-Forefront-Antispam-Report":"\n\tCIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB9072.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(366016)(1800799024)(376014)(7416014);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"=?utf-8?q?TRSa3ofYkTB6iuzELeVkWKKGwq1m?=\n\t=?utf-8?q?N2+vHSVsxBseOgZXylZB4rCEKWExHLujXQn2ie0Nl+PzWaGSb1P2llqZ3sH2Qgzew?=\n\t=?utf-8?q?+4IKVNEdUYoMzLj6022OcnCiqY6x9BKNDAhRhpsQckg7yyD16s5Yp81dg8mjQt8b8?=\n\t=?utf-8?q?8AYoslT78G61BnQKIRriVBvYZGG9fFRQ6H7X/f6yX6Rd5tadkCzpxYQ1RprZg3xxW?=\n\t=?utf-8?q?6pdLUr8JRVLGGNSM7zD4S0/vPybugWjbOzGMnlEXdB4VGwVo3dA7QxMBbUTIC7cMG?=\n\t=?utf-8?q?9QV8rCNKSrJ/VlHQ3VDeo4/IjeIxUx0cLfo0rkrR1cD8/JtkdsCZdst22sSGgv0uW?=\n\t=?utf-8?q?kadssrAQtBGt2SaVTPFwsF1YRDb6R9lgFooQGC1mts8kC/215JfqIWpJL/qsx7/+q?=\n\t=?utf-8?q?K09etyG/XB0gPTX80tH3jk1exXUMkADy0OwjMv3nrWEWNKJQCM+dzMZAsykfsXfPX?=\n\t=?utf-8?q?NnKJRD0C0t+26k83Ef58ZD8AcFEDOG4EydMG8ZiLdnwlLlt8QYGaGjctLgo2BcaXR?=\n\t=?utf-8?q?zR/BTfLHvWe2AeeiugaFpbsWLh8GD0K6f1UG53Vqiu7czKg6d+3DHsM5GEBNXwsEc?=\n\t=?utf-8?q?zP/BDXqW+vkYkZWaq2qaXisDLTj1rp/GudEb53YYprfXPJ10vK+/DzYBeRpZsHGBL?=\n\t=?utf-8?q?aUmrw0oWMZ5sCbD7Uds8ainjCW+GWvqw77pK5PqwD00QfnyBdFiHFIkxbG1c/o67X?=\n\t=?utf-8?q?1QyEV1I9cMfussdZown7CKpNncEEwLZIaBVjFFt1ulRZQDJaNAT3NaBPm60j9oot/?=\n\t=?utf-8?q?6v8rWzMkp6CFOM+ietKjyOdKgoateRTq2DPUhO5hu2J6aOMYSpzmi6VHI7Yp0L0UL?=\n\t=?utf-8?q?HGaPyNE7qiznrnJhEXDUCHvOxhhKWn1YzZuq5ueloES4o3dcv6tsvP7TqgUFh9Nwv?=\n\t=?utf-8?q?MUqXWtSSIrW+gOKP/HCEcF7Bf+1QyscHndHmLQRKLksm5lu341xcgRSHADXmdu2iz?=\n\t=?utf-8?q?5B6QLVuSWXGXGOh9AFeCBx9AqEDcwV+uR67c73sY60eP2XRAWFuThEGVkjfo2Waj5?=\n\t=?utf-8?q?8aKDy2pOWWr/Bv2R5V80aHHmn9ycsrsGDiacVeOc3llMyZvReTKGVrt0lTrT59Pb6?=\n\t=?utf-8?q?i0FCApwvkWrCs4SXn819KvGi6Xzla2KAz4tt+wImSU98Kmc8EJPp614jrqTDWTVbl?=\n\t=?utf-8?q?c3atRUrdeD0Vtd9tl9vPXtSS4c2AlJ6AwqJDrF/6SM+PoWFjULvmwLnM+Eu6wogdL?=\n\t=?utf-8?q?zRUK2hPK/tdeouDG0c8p5iyQD0wKemSVfCCOH/uSWry8kblmgx9kw9AOtqIMVmx0x?=\n\t=?utf-8?q?C7biTZbcONVj7MvxKRSOtqGa0MzU+WZQ8+8wn/dgFUximPN7YGkOAGeXugCXw9DJn?=\n\t=?utf-8?q?8iWKz4rEkPun8Mur79MRtez3FSkTIoZaguz0Wi+IR+cvfq6+7H+7A1NjL7+hI3quv?=\n\t=?utf-8?q?uACn36K9GTYCYKrwBylPmlZm9Cbt84HblyCbpZ02DTZB4k8KkUGnJBvRh/cduCtuF?=\n\t=?utf-8?q?w2PqV+X4kQDofb8EqeQx0Kj6FZ7n69EQtcU4EKNfLZwGUmJHS82joHJAAZnZc/2Wd?=\n\t=?utf-8?q?R43abfjQTgWcoMoQqrGvrgS8IA4YbNhW5R1tjdWKnEdj/I04oeGJkigD+1avT3ERz?=\n\t=?utf-8?q?zzHbt9FW+PBc6KwwMSIXO57O1HYIv23KI5G5m76OcFywBCQR1I1GzbW1YXoPnTn7Z?=\n\t=?utf-8?q?LicEs1LV6P728VIOXB4tdk8SsQVE+Jbg=3D=3D?=","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n 6164d893-3d9c-4569-55bc-08de4f119500","X-MS-Exchange-CrossTenant-AuthSource":"DM4PR12MB9072.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"08 Jan 2026 23:56:46.8763\n (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":"\n +tzdroCTwxGHndkuWzKoi3im0m71GU/Bgc/52CxEt2JsYy0UhTIA3NyDobeCyBP1Whwb5IZBkGSiNSTwEekfhw==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"DS7PR12MB5766","X-Spam-Status":"No, score=-0.2 required=3.0 tests=ARC_SIGNED,ARC_VALID,\n\tDKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,\n\tRCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_PASS,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]