{"id":2180671,"url":"http://patchwork.ozlabs.org/api/1.1/patches/2180671/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260107091823.68974-5-jniethe@nvidia.com/","project":{"id":2,"url":"http://patchwork.ozlabs.org/api/1.1/projects/2/?format=json","name":"Linux PPC development","link_name":"linuxppc-dev","list_id":"linuxppc-dev.lists.ozlabs.org","list_email":"linuxppc-dev@lists.ozlabs.org","web_url":"https://github.com/linuxppc/wiki/wiki","scm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git","webscm_url":"https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/"},"msgid":"<20260107091823.68974-5-jniethe@nvidia.com>","date":"2026-01-07T09:18:16","name":"[v2,04/11] mm/migrate_device: Add migrate PFN flag to track device private pages","commit_ref":null,"pull_url":null,"state":"handled-elsewhere","archived":false,"hash":"009b48acede92516198fecc0d787e896a5ea01f0","submitter":{"id":92354,"url":"http://patchwork.ozlabs.org/api/1.1/people/92354/?format=json","name":"Jordan Niethe","email":"jniethe@nvidia.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260107091823.68974-5-jniethe@nvidia.com/mbox/","series":[{"id":487451,"url":"http://patchwork.ozlabs.org/api/1.1/series/487451/?format=json","web_url":"http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=487451","date":"2026-01-07T09:18:12","name":"Remove device private pages from physical address space","version":2,"mbox":"http://patchwork.ozlabs.org/series/487451/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2180671/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2180671/checks/","tags":{},"headers":{"Return-Path":"\n <linuxppc-dev+bounces-15367-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=Oayfklxc;\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-15367-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=pass smtp.remote-ip=52.101.56.71 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=Oayfklxc;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nvidia.com\n (client-ip=52.101.56.71; helo=bn1pr04cu002.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 4dmMtc5yxpz1xpR\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 07 Jan 2026 20:19:36 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4dmMtH04Dkz2yTH;\n\tWed, 07 Jan 2026 20:19:19 +1100 (AEDT)","from BN1PR04CU002.outbound.protection.outlook.com\n (mail-eastus2azon11010071.outbound.protection.outlook.com [52.101.56.71])\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 4dmMtG2LCxz2yRG\n\tfor <linuxppc-dev@lists.ozlabs.org>; Wed, 07 Jan 2026 20:19:18 +1100 (AEDT)","from DM4PR12MB9072.namprd12.prod.outlook.com (2603:10b6:8:be::6) by\n MN2PR12MB4335.namprd12.prod.outlook.com (2603:10b6:208:1d4::13) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9499.2; Wed, 7 Jan\n 2026 09:18: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; Wed, 7 Jan 2026\n 09:18:47 +0000"],"ARC-Seal":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1767777558;\n\tcv=pass;\n b=D8W1w8KEAAp8WKSapnCG+MOOPV/VA3YLQOJfoIaxjqt0YvWCONO52ZKpQue3e+jen+SSSFUq0uAgUe83qmKcfafuFjXvHr5ljLIfGpmyO7P6loae+ZZXaKJo54v4H6zR6vTcv1s6Tj9+V2dwEGpIEFDcbflgRAUqpZnT1jcl3KwxGfs/W0kURFHUUcH7wDfrEiRa81IisxWi0rWDy/0xmOxwWwcUyH67qx04+RzT+gBpsoDovBsDpSyZBaIJKIOZQVtO1Y9LtEhEb2wom5s3Js8o+1BnzGJQCWho33uzUJvcxf4TRsRZEQqWlXBHNm+BaxGnkPjKclViSExOYXWlug==","i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=lQG1AIIOXQoFdWwNyRPyKyFzOJZ4qQFx+WET8mmupYTMUBCPvLBixjfsVdlixSH/Yiq1VzTWHtixCoc/iSWL6yvcct3IyrnIsPbnAhmLTgkG6lWsd836QXgxWp0f8Yronicc5A3a9cOhi1FF4kUdxAX1hX7+/pG2oQ5URD9l3/N1mNhkb4a26u+jCILfnphoGf/u1xtFBgP1JY/X0tsqklTB1jbGzAcq0/eJ5Nl2cleUm0/c74SPKPrvkE1HRIKR45vER1/oMxaCNFSngB7p3xgaFwn/6nCZVnOzPFQruYDh/oQTdANJRW+0nN6JzWd+EFn4n3F7bafhm/Y7uwFHAg=="],"ARC-Message-Signature":["i=2; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1767777558; c=relaxed/relaxed;\n\tbh=dhknLqz+dspdMBKvGag/XA1l5jaLYWio94HP1a8ZjVo=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t Content-Type:MIME-Version;\n b=D+Thc92W621Ucbwxr5HTpMseQxcckm0GJctQA21ZRzQ5bNmBdbOIzDaf88BXNthM0fRu+0HM36e5rWqYsWWX29E2M63ZFfQJlc6v4QEkEb2kYGARQaP1VyfLy8B2z8lXQvBzelElN4aZe01/xju9mv5fRkAMZsUm6CWIC6GPSFa8fE0jHOYmD2w8IrV2CKBIqaNEhobFKZalYu6k4qPlIss7DElAY6/zmECeTk5WfOP0Ri8f6/MXyXVKcmkAFiqn5tr+IZAuTL6rWlN2BQ28xd9RVK9wCXrzwoXb2+fDgUTyg/IplQLRLgq5f9UF46aZYEmktcrLPVjFWcT5ERHV7w==","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=dhknLqz+dspdMBKvGag/XA1l5jaLYWio94HP1a8ZjVo=;\n b=qkH843nwvBriypMywhDMbrtYg1NpIjH7zyygl+T6aWH9qxJEo4hdUZ6/JVYxAh7mCYTNTVf9BzpK3ool4yvSWSEjnuR73x/1IPI7XbAAuujs4NbTUAvs3MziTrJ82sss4Bw1q7MGtYR1c9YyiKdMeAKDeW/SjMjXuuEKRbpo6VKjiVCmPraDrGUZnziAzAhlKm4JUSKv8GKZ73H4YdFw6+8GN8ifsVhlsUAbJ4HUDOR7o5VAMUytoPWSfCU/ZLzGAIo4fi/5rlh9vllNAHiHh8YGqcAOWJRfTl3rT6jlJx36KSGrHDmVtSup5tbycOPaep4QZOjU12eZmwAZ7V50wA=="],"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=Oayfklxc; dkim-atps=neutral;\n spf=pass (client-ip=52.101.56.71;\n helo=bn1pr04cu002.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=dhknLqz+dspdMBKvGag/XA1l5jaLYWio94HP1a8ZjVo=;\n b=OayfklxcYfsnJEMtU1rnZpp4o6RvnE3e3G5QKX7ecs0Xb8HUhmsFeabU7AkQHQQiD+FcCCMVXJM+6YvhY72HgxdxpxvRczGYptdcQ8Od3u9rR868NbyofD5L9OvbaYsRKdZUS6a/a5bqlqjEv4NhclCCGSyrw5RBZ5ykLcX3+Ggf9DYG2g/qcd+iMX0u8fID9llcmvRSiBXpLQSbjmzKVvpZhHCB/58uMjwrdVJLnV8bV0ftKNhR1TERN7bnXVQe6u3bE2FiFXwO7gSOzcqW8CMSYtWjB3AGRR0DHjNgS0tzybsIrv0LbM6WA+WDtbzp0OAzt69ZTomOdXD4uyYYiw==","From":"Jordan Niethe <jniethe@nvidia.com>","To":"linux-mm@kvack.org","Cc":"balbirs@nvidia.com,\n\tmatthew.brost@intel.com,\n\takpm@linux-foundation.org,\n\tlinux-kernel@vger.kernel.org,\n\tdri-devel@lists.freedesktop.org,\n\tdavid@redhat.com,\n\tziy@nvidia.com,\n\tapopple@nvidia.com,\n\tlorenzo.stoakes@oracle.com,\n\tlyude@redhat.com,\n\tdakr@kernel.org,\n\tairlied@gmail.com,\n\tsimona@ffwll.ch,\n\trcampbell@nvidia.com,\n\tmpenttil@redhat.com,\n\tjgg@nvidia.com,\n\twilly@infradead.org,\n\tlinuxppc-dev@lists.ozlabs.org,\n\tintel-xe@lists.freedesktop.org,\n\tjgg@ziepe.ca,\n\tFelix.Kuehling@amd.com","Subject":"[PATCH v2 04/11] mm/migrate_device: Add migrate PFN flag to track\n device private pages","Date":"Wed,  7 Jan 2026 20:18:16 +1100","Message-Id":"<20260107091823.68974-5-jniethe@nvidia.com>","X-Mailer":"git-send-email 2.34.1","In-Reply-To":"<20260107091823.68974-1-jniethe@nvidia.com>","References":"<20260107091823.68974-1-jniethe@nvidia.com>","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"SJ0PR03CA0216.namprd03.prod.outlook.com\n (2603:10b6:a03:39f::11) 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_|MN2PR12MB4335:EE_","X-MS-Office365-Filtering-Correlation-Id":"c757fa64-3c9f-4762-dffb-08de4dcdc307","X-MS-Exchange-SenderADCheck":"1","X-MS-Exchange-AntiSpam-Relay":"0","X-Microsoft-Antispam":"BCL:0;ARA:13230040|7416014|376014|1800799024|366016;","X-Microsoft-Antispam-Message-Info":"\n SZg+8t0edlSpKuAZCRxnTDz2uycNYT99ojCRPVEkmsnZgHPGys8VczRah7WRzPZqK76fFjgCBcxYJct0MChAeDPpqdiHX5YkdtVvHJQkgmY2OUIopXuEFXNSQioaQs1TTTj1Mi0GGZcTe0DxRKHeGXJpvXWS0IXpBwCQJ0pmXcPi4NLkpz2esaLjqCq2oAkVbpHkhN43VZ0ARuDrG8ojec02iTBGbycqlSupTckQP9U1aljVBsd5z0B2JOMEV8sm9vXDCxuWEXninQGSakRJ+Xtq3RICfmOUGVZbZVTXRSgkQV31vbdw/+ZjF3Dqn5NrH4bdivuk6K29GUwDdJT/WepZ0PpWeftwQpqDRxLOPisbJyHwB69Ep4VibWGiyhgBa5HAEt22BcKZ6j9F/xt44wVSFAI2ZCH7WqDGYvdtFfFP40bjSnXtYTv/o2ZJ64HMWmGRRor+jQuv2EQUHB4MErHX+qh0jzMbzdQaQOtVrPF90HUfl98J/XAXN7cQ/gVmuoKNTSFncCona66PbDcHlGi4DYUjL5LhE3T9SRtQbCgXuw/RA3gRQv6dGoRXQ+SAUflQ6Yxdfv+bE5mxsMK93qmvLytdaOsZ2NOM7hoB8Dd9EXUjZ6SjKHKr02iyf0p0/256ZSCqBnS17KRFLEDfGdhFrZGaexwq+Lgqxtgn9gIjDe85VSofEhEFBHyDnMS+75yEYV63r7knRvOYO9f7TPtG8FHmwgxjETMi1vW/yW8Bz3Ikk/Tqx2bMSO6yRwrWLyziFwdNEWPrd/gHnwC0hm81eq8ezSW329Gb9N7oMlLgaaral65qemRXRjqX9KBGsVPBXSnWSH7qG2PnJNYgTH0WaBkq/JTEeDmAyk0pYT50DqrpZ+mNVqLrm5CVcw6m2uNlEKY256/RmZVg3brR1cm3Qd9cJJFWEcoJfb6GhHsxY3vvPjUk5FuaJSuE4v04Inq0lWshLVy3kHbt9IMZSsLAfPr2OWZM5RnBrTZG41WuT2/9zBOppymGCIYN03v4O9PuKDHQV10xftVG7fdcS/RuHsFvhuLFxyMh5YjsrLtkyiyDTNAMo2brpUWv+sZ2qJtBqNb/8df9zkrmRBO6jQmoey/iLOGHv+GOsH4emC4DwaKxDPc3xymfCr2ItE3ddDFNt50y7YdkqbGBkD8QFPQVgtXd2z/Y7lvBddlUUprUp26Bc2enXrf7GO4VpJRTrHenhpevz/gTG7IXYAjS08RzXco4RrX0+LYLA8POUyk3WDbaOHr1OvZsGkNbNFAlOi7iBbw6jaLh2cp+sqyJn8EDV9v0APYA/RuWolNc89iV5y46S00+Qf6gzP56tozZSqepfRlZOenR4j3AEsLp7kue3I9LeDfyID6u9WpryNeaJ5uqEXB1KRxck9ThqdO8zeJ0z7mA4EPJuHth3D6lGGuvJBqxdOGzmycrRx947xzCyGST2/JBIUW2lPbnEL2C","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)(7416014)(376014)(1800799024)(366016);DIR:OUT;SFP:1101;","X-MS-Exchange-AntiSpam-MessageData-ChunkCount":"1","X-MS-Exchange-AntiSpam-MessageData-0":"\n xmvIcnr/+4dpknwDiViapRscU5UeybjZFqVlYG8bdWz93u9AHadtHA6yM58jrT3dj9C89ixkBkiYWcv9KM3pCx4032XYVbOHNRtlhWsgJRoeyHaDP0XZo1JjmxMPUN9rGif/qMYQ6KxF3LAKg3fChN+ztmCvtpfht2x/ZpsmAFPURPAMyjqGPVYCtax3y/RtfCV3U7pr5V7OUmiF41bURkpuMRle3BKzle3hi/9YAzrLslb9afhrVhcjceby6c3M1O6m91IO0W6uBZ62qvmacfUt5K/BbHfG9qksYFbrDzGLilXOu/wyIzLrYuv+xK6qLiXsNRViSXPwrjnNRHERQyqU6YlNrgAzcakkhPS4jNmIqTcoTdj4l9D5wa3RGdgQP4DI4BXCzMbJppFV85eNSYb6qqRFjGrmXseyPbDXqCkyCi2yrkeTF1f+rN3zWr98MCt4Cu9LZAfnj4Rd67v7eyjqo8Pjfb7wJA3gh5RV5tDgE2ScCnADzo4d2sMrVpX99G+ev6laBv1uFaAfJd+b0KDeozIm+HgdG57Ctd6iU+Ggrk09LUzgvZR6/TEJL9QLFuZzChvu8tLwUw3kUEDoTjDS7bzWbZpDXQUOoSa8BDw/I2nDS+s3fAcWBLaQl98aqoPfXcIKf+r3tlFUxbmbmM1zvFZTmPvTIMex28j+RlsVo/Fz8+QnQP6cavWBOAua1+Ym1sjLPGOp9vqm0x8bALQxg60YMdAJTlogQiv6b9vZ4oB5COU14CjndE0xY41rblwqc9E6dmV7QDg/vasw5i9DfmjzCRDjs6dFwz0sAb63C+1oKnKqkZ3bLcvP0BNxCa1Ig6pROmfOmSHgs6sPqNlREydueshs859RTrDFMDDHzvEfySLRqtdoAm2Xek/pD/5L0IepBROUk0BC+CmSk94wwkeQbZ+QFgkpaUFxrkE5o9K+HmFphi1eDxg7HmEgjsbgUWpe14uWw7/f3gS9XOXWfKFg7zaBuUScTJjn3fG34Y3AC1J3Zx06vp/FHBy20juj0HsxNimEs4wXF1FLpP6cEfaqIBpVCgeujI3nt1rbEKv6sbfh7kiR/i3F7YcTmUKigdZfHcojEZSRS7gZ1xcQgy4gAyJHttKe+A3HWPwIgElJjx5T84/78aL2OTf0VquAngcpugcjdp7jjeVt4J+N0MlyezVEbWIpCKMnH69ujgVhPXGRRPFiA+pK1R1R5nnOjpaUuxvanomge0cSUsKcMxK+3HoRTs2QRp35DZ1gvhtkKzBzbCir1+qbrXOGqQQ4lLuXmWYDy6Wlrd1xUO7hUeV6AQanTQaPEY5Zbc4we25ymSqyNs26ZE+V6DepHuCDGVvlDg2Knx5fEstSdxXF0l9YDYiPRMvTxrZ6mSGnNW49d4qWsBKYxez5X60IVq6X5AOxj9mKfNHQOVR+prRtYUVV89u+KCoVYUjfvjtjxp6B1SvO9ZwoaYDhAptrfQjajOEHGNDzoTSLyTVhvKJrKWIykc/5JxWAWvD/WQ9s5FYBgopxApkPkRSDRkfwE0rdiqjrboMS36ngIMPkMS0M/QukWjMR5G211//6Ge3RwcBHqks++BW2vSAKXspFVJugFrSLxMk1p0me1fHf1r3CqhrhSqiXk6UkEwHds5nonHqeTAr6jdog+664+n+3DgrWVZ6NFQ/4GAJgCph+mYy4UWC+C+0DvdcvnHcx4RrMCc6QCPlVryEF00vJxG5xIvTigdFuOke93iMr0p95ng==","X-OriginatorOrg":"Nvidia.com","X-MS-Exchange-CrossTenant-Network-Message-Id":"\n c757fa64-3c9f-4762-dffb-08de4dcdc307","X-MS-Exchange-CrossTenant-AuthSource":"DM4PR12MB9072.namprd12.prod.outlook.com","X-MS-Exchange-CrossTenant-AuthAs":"Internal","X-MS-Exchange-CrossTenant-OriginalArrivalTime":"07 Jan 2026 09:18:47.0677\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 CUqtF9fw0xFj/VuUXjZDLAj4C4JJQJcsrZJPc0p2qNM4LatORyIPDc+B+F53b303/SDHyVA6owwWUeCyH/bzVw==","X-MS-Exchange-Transport-CrossTenantHeadersStamped":"MN2PR12MB4335","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"},"content":"A future change will remove device private pages from the physical\naddress space. This will mean that device private pages no longer have\nnormal PFN and must be handled separately.\n\nPrepare for this by adding a MIGRATE_PFN_DEVICE_PRIVATE flag to indicate\nthat a migrate pfn contains a PFN for a device private page.\n\nSigned-off-by: Jordan Niethe <jniethe@nvidia.com>\nSigned-off-by: Alistair Popple <apopple@nvidia.com>\n\n---\nv1:\n- Update for HMM huge page support\n- Update existing drivers to use MIGRATE_PFN_DEVICE\nv2:\n- Include changes to migrate_pfn_from_page()\n- Rename to MIGRATE_PFN_DEVICE_PRIVATE\n- drm/amd: Check adev->gmc.xgmi.connected_to_cpu\n- lib/test_hmm.c: Check chunk->pagemap.type == MEMORY_DEVICE_PRIVATE\n---\n drivers/gpu/drm/amd/amdkfd/kfd_migrate.c |  7 ++++++-\n drivers/gpu/drm/nouveau/nouveau_dmem.c   |  3 ++-\n drivers/gpu/drm/xe/xe_svm.c              |  2 +-\n include/linux/migrate.h                  | 14 +++++++++-----\n lib/test_hmm.c                           |  6 +++++-\n 5 files changed, 23 insertions(+), 9 deletions(-)","diff":"diff --git a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c\nindex c493b19268cc..1a07a8b92e8f 100644\n--- a/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c\n+++ b/drivers/gpu/drm/amd/amdkfd/kfd_migrate.c\n@@ -206,7 +206,12 @@ svm_migrate_copy_done(struct amdgpu_device *adev, struct dma_fence *mfence)\n unsigned long\n svm_migrate_addr_to_mpfn(struct amdgpu_device *adev, unsigned long addr)\n {\n-\treturn migrate_pfn((addr + adev->kfd.pgmap.range.start) >> PAGE_SHIFT);\n+\tunsigned long flags = 0;\n+\n+\tif (!adev->gmc.xgmi.connected_to_cpu)\n+\t\tflags |= MIGRATE_PFN_DEVICE_PRIVATE;\n+\treturn migrate_pfn((addr + adev->kfd.pgmap.range.start) >> PAGE_SHIFT) |\n+\t       flags;\n }\n \n static void\ndiff --git a/drivers/gpu/drm/nouveau/nouveau_dmem.c b/drivers/gpu/drm/nouveau/nouveau_dmem.c\nindex bd3f7102c3f9..adfa3df5cbc5 100644\n--- a/drivers/gpu/drm/nouveau/nouveau_dmem.c\n+++ b/drivers/gpu/drm/nouveau/nouveau_dmem.c\n@@ -484,7 +484,8 @@ nouveau_dmem_evict_chunk(struct nouveau_dmem_chunk *chunk)\n \tdma_info = kvcalloc(npages, sizeof(*dma_info), GFP_KERNEL | __GFP_NOFAIL);\n \n \tmigrate_device_range(src_pfns,\n-\t\t\t     migrate_pfn(chunk->pagemap.range.start >> PAGE_SHIFT),\n+\t\t\t     migrate_pfn(chunk->pagemap.range.start >> PAGE_SHIFT) |\n+\t\t\t     MIGRATE_PFN_DEVICE_PRIVATE,\n \t\t\t     npages);\n \n \tfor (i = 0; i < npages; i++) {\ndiff --git a/drivers/gpu/drm/xe/xe_svm.c b/drivers/gpu/drm/xe/xe_svm.c\nindex 260676b0d246..f82790d7e7e6 100644\n--- a/drivers/gpu/drm/xe/xe_svm.c\n+++ b/drivers/gpu/drm/xe/xe_svm.c\n@@ -698,7 +698,7 @@ static int xe_svm_populate_devmem_mpfn(struct drm_pagemap_devmem *devmem_allocat\n \t\tint i;\n \n \t\tfor (i = 0; i < drm_buddy_block_size(buddy, block) >> PAGE_SHIFT; ++i)\n-\t\t\tpfn[j++] = migrate_pfn(block_pfn + i);\n+\t\t\tpfn[j++] = migrate_pfn(block_pfn + i) | MIGRATE_PFN_DEVICE_PRIVATE;\n \t}\n \n \treturn 0;\ndiff --git a/include/linux/migrate.h b/include/linux/migrate.h\nindex d269ec1400be..5fd2ee080bc0 100644\n--- a/include/linux/migrate.h\n+++ b/include/linux/migrate.h\n@@ -122,11 +122,12 @@ static inline int migrate_misplaced_folio(struct folio *folio, int node)\n  * have enough bits to store all physical address and flags. So far we have\n  * enough room for all our flags.\n  */\n-#define MIGRATE_PFN_VALID\t(1UL << 0)\n-#define MIGRATE_PFN_MIGRATE\t(1UL << 1)\n-#define MIGRATE_PFN_WRITE\t(1UL << 3)\n-#define MIGRATE_PFN_COMPOUND\t(1UL << 4)\n-#define MIGRATE_PFN_SHIFT\t6\n+#define MIGRATE_PFN_VALID\t\t(1UL << 0)\n+#define MIGRATE_PFN_MIGRATE\t\t(1UL << 1)\n+#define MIGRATE_PFN_WRITE\t\t(1UL << 3)\n+#define MIGRATE_PFN_COMPOUND\t\t(1UL << 4)\n+#define MIGRATE_PFN_DEVICE_PRIVATE\t(1UL << 5)\n+#define MIGRATE_PFN_SHIFT\t\t6\n \n static inline struct page *migrate_pfn_to_page(unsigned long mpfn)\n {\n@@ -142,6 +143,9 @@ static inline unsigned long migrate_pfn(unsigned long pfn)\n \n static inline unsigned long migrate_pfn_from_page(struct page *page)\n {\n+\tif (is_device_private_page(page))\n+\t\treturn migrate_pfn(page_to_pfn(page)) |\n+\t\t       MIGRATE_PFN_DEVICE_PRIVATE;\n \treturn migrate_pfn(page_to_pfn(page));\n }\n \ndiff --git a/lib/test_hmm.c b/lib/test_hmm.c\nindex a6ff292596f3..872d3846af7b 100644\n--- a/lib/test_hmm.c\n+++ b/lib/test_hmm.c\n@@ -1385,11 +1385,15 @@ static void dmirror_device_evict_chunk(struct dmirror_chunk *chunk)\n \tunsigned long *src_pfns;\n \tunsigned long *dst_pfns;\n \tunsigned int order = 0;\n+\tunsigned long flags = 0;\n \n \tsrc_pfns = kvcalloc(npages, sizeof(*src_pfns), GFP_KERNEL | __GFP_NOFAIL);\n \tdst_pfns = kvcalloc(npages, sizeof(*dst_pfns), GFP_KERNEL | __GFP_NOFAIL);\n \n-\tmigrate_device_range(src_pfns, migrate_pfn(start_pfn), npages);\n+\tif (chunk->pagemap.type == MEMORY_DEVICE_PRIVATE)\n+\t\tflags |= MIGRATE_PFN_DEVICE_PRIVATE;\n+\n+\tmigrate_device_range(src_pfns, migrate_pfn(start_pfn) | flags, npages);\n \tfor (i = 0; i < npages; i++) {\n \t\tstruct page *dpage, *spage;\n \n","prefixes":["v2","04/11"]}