From patchwork Wed Feb 19 05:04:44 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alistair Popple X-Patchwork-Id: 13981477 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]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8354C021AA for ; Wed, 19 Feb 2025 05:05:20 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 16A1F2801E4; Wed, 19 Feb 2025 00:05:20 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 11A9E2801D7; Wed, 19 Feb 2025 00:05:20 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id ED61A2801E4; Wed, 19 Feb 2025 00:05:19 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id CC71A2801D7 for ; Wed, 19 Feb 2025 00:05:19 -0500 (EST) Received: from smtpin23.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 45FC91A0F11 for ; Wed, 19 Feb 2025 05:05:19 +0000 (UTC) X-FDA: 83135505558.23.E7F4412 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (mail-bn8nam11on2049.outbound.protection.outlook.com [40.107.236.49]) by imf02.hostedemail.com (Postfix) with ESMTP id 3CBAC80004 for ; Wed, 19 Feb 2025 05:05:15 +0000 (UTC) Authentication-Results: imf02.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=VU7h5314; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf02.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.49 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1739941516; 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: references:dkim-signature; bh=esVAOH93aULWVaOAGxVXmZxF26Og/DobGoFTYuc0UHY=; b=60A+lt6BMUBAa0HiDCixzw45RZGvMkuJxZd16prS5+en+tPoGyJ9llvx5e2aV3px083IgK N3qrEf2eoaRgN9hyQKwfnqKScA9zI9yHy7ukfbjaDA4wqiPmyxcJIk1w6f6YcFrOli1Cad Rke0SbtMCyPNk35Ud9F8r80DSzqpXMo= ARC-Authentication-Results: i=2; imf02.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=VU7h5314; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf02.hostedemail.com: domain of apopple@nvidia.com designates 40.107.236.49 as permitted sender) smtp.mailfrom=apopple@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1739941516; a=rsa-sha256; cv=pass; b=CXy0yySVvJTPnXnmHkZycm+NLDPeLVgO3ZFWtfXS1YLFcqK8tmmdmbstZs7UQKz6famXrh 0ulSH31nKkMFUmXQYJK5l2dHNXkNTN5zVXgnPgd+oV7B0CMB+UxunbSSbimvzguzpERvRB cepIRxZyo3DwffhySGbqOsa5hzQ1zUA= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y4jS9Ij9oMF+p9HX7Qh3MGXgXuq9GVEPJDm40+l0V/JFTpI+XBneYfhfz2iIh1shxqz4Bq0rcIZSpc0s4JdsQgxxd6gCJHSMWLZQ4LOVlZTf6eSdYy/yyApgUqENy9hgLPFE8sG5mJh6/Ovd0Mh8zoZyKOl6eHcIXDpnyBqRXcKyDmclZi/XCICdRzhIdvpS62k6duaOsQi6GEXGWRIbjmIK3NM8vBbHXSKlpzJnpDnJfaNaV1spW3RCxWArn2o2MGVCyLPMstr1UpnlYHiPKYm6AkDVgpZ3Bh5pwiIgFWAUAyCyyppQoSwyrzPCOC85aJdNLGzv+XPs3roCLmTcMw== 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=esVAOH93aULWVaOAGxVXmZxF26Og/DobGoFTYuc0UHY=; b=Opozo6meNIYW9LdkM2yM84wD52DnlocGP0/Qgs2qDjf+vL0B+EIvpwwj/Pibc9Y2HpMGYAuM5vrH5NXwxa/84emFUhYX50u4nhbQiXJD3SJromu3VRhtt0j+VrZ+/e9U6hki9D86LLP0gXbjJrn/DCiqN48bvv7AabbpxQKy4mM13Gjk8QVfgPZXp3OugbfedwYXIsTg6Ito9Kpzo7Dc17eE+90JP9JedvjO8oF7OBFmOSVcDvmfOHUe+VZjR3uO4hdstT0cLusupmTxHbSY+JRth2H/c70IJKUxjuTgJfn2RxdX2koy6EWBK2zqtWbwMtFpK0CXwZkFMgKRl7Sq9Q== 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=esVAOH93aULWVaOAGxVXmZxF26Og/DobGoFTYuc0UHY=; b=VU7h5314MQnpfqVIkksjPD+gEJImQC8Hz0f49WnGcy7iS0/feoHIKmrA/HhrCHivYZ4x90OsBIbtP3q5rPJq4LQxF4E13TWYQ8WCS0vBl/zYgMH7oWXvAm17EAl3f9fqY3xLO69YizNbpPaNejP1btAe8WzawKL/7EmRX6PQCkxmVT/poOsWHcqeaJzduxJoBq5u/bi4PckGTi+P+4o4yKvvBUHCb+S6tnIW2MmIR04w7OyzIyo6wtvNHqWDyJrhbotBjNIASqf7eKPw2afNUy03cV1nwf6Sagg8aJrpeFaKtSDcff4N/iTTltutej2ssScejek5DriJ01tu+zHk9w== Received: from DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) by SJ2PR12MB8875.namprd12.prod.outlook.com (2603:10b6:a03:543::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8445.14; Wed, 19 Feb 2025 05:05:13 +0000 Received: from DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe]) by DS0PR12MB7726.namprd12.prod.outlook.com ([fe80::953f:2f80:90c5:67fe%7]) with mapi id 15.20.8445.017; Wed, 19 Feb 2025 05:05:12 +0000 From: Alistair Popple To: akpm@linux-foundation.org, linux-mm@kvack.org Cc: Alistair Popple , gerald.schaefer@linux.ibm.com, dan.j.williams@intel.com, jgg@ziepe.ca, willy@infradead.org, david@redhat.com, linux-kernel@vger.kernel.org, nvdimm@lists.linux.dev, linux-fsdevel@vger.kernel.org, linux-ext4@vger.kernel.org, linux-xfs@vger.kernel.org, jhubbard@nvidia.com, hch@lst.de, zhang.lyra@gmail.com, debug@rivosinc.com, bjorn@kernel.org, balbirs@nvidia.com Subject: [PATCH RFC v2 00/12] mm: Remove pXX_devmap page table bit and pfn_t type Date: Wed, 19 Feb 2025 16:04:44 +1100 Message-ID: X-Mailer: git-send-email 2.45.2 X-ClientProxiedBy: SY5PR01CA0091.ausprd01.prod.outlook.com (2603:10c6:10:207::8) To DS0PR12MB7726.namprd12.prod.outlook.com (2603:10b6:8:130::6) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS0PR12MB7726:EE_|SJ2PR12MB8875:EE_ X-MS-Office365-Filtering-Correlation-Id: 99426b2b-9f33-4a0d-8f23-08dd50a2fd6b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|7416014|376014|366016; X-Microsoft-Antispam-Message-Info: ymhs0ClJXHBQMr6FSuztBRaXrPADf/ENQUEgjVTxYzfNPNW7EZwfqLKj0/D3nu2M9vDf09B0CaTaB6WqpZZd//ocYNPTYXsbc2+hYSsU0rWjBIc9LlHDPGhIYY9Wrz5C5oPORdKbRn6dyW4OTkotiEpWA9PYpyKq9Msm+H5R4uSTslytXHQdseIk5AmegG3v/2ZgTNZDqa1p6rMLkb9ISvblLMa5z29wHCV75pD0+j/amIB5AOnrfXDsSMThOTVWEyARflj2zTkGwCUQD+MlkKleQ1h3uNY9tG1xG/V+bDlT+gtZlSTlMmmkCyrPQz1yxK+jveQBw7Y9j/ZcZAQIW6kb9pG6HopQ/ql0vowrRPsh/lfbOrO0+HbFr6QR7TpGZqHjxr6MNQutx6AGLUlFfe+4YrBeWaTi2gX9ClYIQvcOsRJem/3OdZcHVwPE6p/BImgC+66cNagp3IQkAmT+HKG4wYx+vVLLq8Zl4GLJVOpQCtLEA1n/u8FCNOeqwpVluuxzBB/UZ44Qz9HTCPjoFGIlefPCnloq1WoCu1XQz3IdQpippyg3JwShBP3p833zc4BEIXszi7OcmSTr1MwtL/9S5jyHSr2hBt3SW6KGp4mVjkBEC+laU4nWlyhSauujoqgDjG2oujnFjcpbMQX1i0AjjQsch1DfKO7nqMcRbUKnYoZCZp20ajSVhhUAfD9SflTGi7duA+3poMzNI/ps38AmgZlXPxes3cdCxdk3dkMWt0C8ap3eGyoXbs1qhJNNnvDVb/qpfmkSFhBoFZpCJCQ3slbtt6axvEQmAHa0SDyqoXgTAFD3ZQLadJGtAcfaS8WL4RcC+nlh+6da8CAi81rkcc174ReIkAogDNPuQEao+903dfFd774WKDynKEFFnoxZXMD6+PWqtyujeW44uxMvrfhDl1kxFH24yg9w41KX+33E7G34GwyDsKEsfeykbLfd/4C8JKKmUgXFEVtSo+CN2+doLBKxQZYfMaUxC79yOhaytd+08obaMPCUUN6cpoJ4O12PU7G/IZ+dpAVuIL7hGw09ZeAa/JMfIQZXPOk5hRKB/9uVo/hBvVp+uNEQLLVO1VVmgLYnyel+ccDqhlG6P0KsLuzdgdRrRFpq0kMD0p+Xk6CEhiIzwN+dEn1WLbgPQIRYUUc1U+RCs0WBJeeY1Vfq123Mq2mk3L06zF0I3HGoqHzfgO7I2wj08k4vTn749PDTdf7KAJQMR+uwmWNgqZCIr4Rbd/ezvxAYjnbdfbsd0ZZqAOGxhUZTCvzx3fulczdayFFAV6fku2NHw0YX8r+l7felqo1NXmZdxoKK1R+tyDIpmI1DyPW32uXx2rnpXyBVLTwQBrVqMqJ0K04T1MQCudbyOX9/NWrBYT6xgzOq452smEv4YKdmUSYg 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)(1800799024)(7416014)(376014)(366016);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: JORL87su0lSQlGFWRbYczsWtGPv1992WWP+kKcxS+pBpYl/xOp3bG57Py+VAxtAdrYfaYNxL5esHAPSUFeG45BT39XLwoOB1j3BWAYRf7+T79x8HDQp9P9y3QLTnxAYAnjRcKxUgSOV/kRG19vrww7hSlIwfmf8NaFMjuTEQALF/kBFpnGQZLjzIS020E3x8zvuNRwCH1/dEmX41RXXcm3Dm3cH9yb2/YaNj/PwbkVutvtDIo+QBMUP+a1x0is6xWaN933mRLdvxa3TKtffxpvdnj+iEOTEa2vBGhQ3wVog6p8UY8pe7pUOsKBOztrcOSPqQBUMk+IpLztMLfSWIp2Wxa6sPQrirM4p0tjNGTeDfdxDu+JISvnsGO/aZ9fSNc/85cH67HuGQDtWGeP3g8KV+26lXfvldD5IvbpqS6UEw1yAfOZunsLQ4zsdTP6ZNNcaVmy4ddlZtVYa7o2ygDm0vTOF1q+VXWNYODxXFLo9B8sQb6Z3fIqUpdTf6xbRCFM/JKPkWTbPIHTH99W4xCfMG7EpPH8AcKk+1PgendEH1vKUR7tpX6hh0MxWp0cRUtxctNQQbSdtee+5PxC5H3uatYgHAvZ9/vpSsHk8Zo4B1xrhHLlnCaSL4cKt9JOnsNiSGW0gawf8OpvOiOlWW1o5Rslkz53GmsvGla+lNgimjDhHSdzsRdKr3sZEkZie6CdNndZZux0FxpwY7PGU3gbs5Xcs0H9J4CRIKuosEY/G1rAMpPjWFmwrwCseRXorZJI3ktWiyqvltDfrGv+FWtg5dVifiOdb9iiLV4m2ZgWpC7Rf7I9A0R5TROBaqXYntqSeBiptWxP2XipGjl7PKO0fVJj03JNV3aNZw7W5k09FLazE89BSnDiUaVseTQiSjsQlluevHb+/amSGEB9mWGW4uVxdxir9BrcFaRA51IaGEQUPRXmri2TVCqr06RDqAp60o9gFXvMPsEsE9paek8K4WItNPvmf7MAUEui9+irzwuqwhSWOeisUAo1IXjwJYxZrnUpZ01M33fHSme2547as9VuruVYRU/tDxHHHyxM+fOHCaClGRYxvvSXilT3E6WcufkG8Esf+6XFcggiX9DLfoVKDkLv46MuR8VweTU4lQjcB2s1h0EJcwdCPoZFeLRUnBFkNCZOuaiEvnI5PkBLm9AkTi9gA6LLxJTmcKiRgY6YHk9WpM0l+iUy+UksmhAPmtkJxJ7uDknOOM5SK+b30aiM/JCrLxovm7dh/Zf+vS6N+hwkBDtTbiLyfj0UtaF6zZJHzMK1sLilJmnaj0PegihZAjubugcrBb039rfQCD5nvCDwkmf+8/QQp/RaKLSwvAjiKvd/Pq6i/t5iy+ZhyuepgWWlZBt+E0v94mL0u3g2sMKf9vOVsGyYk8Ahtvyz4Dl7lSWQLvugfbfU7Y3SX8AwJMiwPIVxpu0g/FHuVmfOW/WeC4dXT7c0iyXy/LUzuMRsM5dB/+X608KLZUUq/Lro32zot598ch34cg1x/CN0SEQo1helep781Uns0T7MQN4Hs7/ED75pEooQZgT/KtwOVT740r2Lc+K2la9ReKopxv9hQm7gMHOXbzFW6Q X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 99426b2b-9f33-4a0d-8f23-08dd50a2fd6b X-MS-Exchange-CrossTenant-AuthSource: DS0PR12MB7726.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 Feb 2025 05:05:12.6133 (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: ymQ5eHZ20VrfWCqLbLChk/yFjn5HZjcIBMMtFMSUqn8v7SyiEbV9wyU27CiU3WJ0d1K6qViglX0PQUFYoILSCw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB8875 X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 3CBAC80004 X-Stat-Signature: sug14sis6zyc86dg653szmu1bi6akjnj X-Rspam-User: X-HE-Tag: 1739941515-313401 X-HE-Meta: U2FsdGVkX1/8PGEHh9iNRaa6LTeWqCUsw/hQgyNPkKQToycbG6UHIOBQ4OTH/uhwGsvNflT6N5vYna/UFNRZ5wi4vC8zKJKwmAbjUwqvdeC3h1FeWJ//sXFtbJPIFVbGIeeWLmnByPRgh+/RRHnXEGA5MmQMj9JyJSgCuygB4PIKU+x+bD1M8qppgpLBnl05Yx8TqPFmoHGw6k0bLpMFop/NKp6GYVsGO23Gy74Rkvb7Vtvbuo6wtNs+md7fsaY3J1GFcmEviu3U5VZWu1lpBcVrHDVLaNbOfaBBJXbcxU/SMAaYoz8xR6CbacwjNP1zu55+ZERzs0y5EmWpTQpkfGjIwUa2HWES79bTKQ2053sSQAshIUD8benzt9bFHhOEHekej5c3GCRSD9RapSZ4Qhkq123ODXQGpjkDL86w//IUwLniqVKcBzdxJ1eKVJepJAGAEri0Fm4x0J/6dPyA3TLlJqvAFqyoW0wYvCTwhy4QRHg98Aspnw8jRtMYvRUGIOzxzCq7O/iuGR4vXcdcK+MrsZD+KjVYwJ9EhKgBAOtI39sr7dhsaSc+TRw8DAGmOFserUuYyuWPMR4BnlWqo4y0gyXlkXbjKNy68hvqRUvREcoh6+wHLhaa60TYM3emWTTo4sOlmgtUY1hvGv6hQY0s7XYKnibeYbgHJ7a2C1oEu+7WOcLldY1zDD6cBDJhbzT0BHoI/19sxuIFutwGs+uQpqwih9Bqj5o+h9wGNZC7D5yteFQBDas6kPyYpLVndcWBS3x/y92nPL+bNxsccQIdA0EBWOT7oMznRbH46XSHsCiPNlDAY9nURpGqj4PJ7lSmZjpAzK/STelRvtSA5QxY2DOclwlip1IoXmMKOPLuUUm48YgRIX0+RDjbogwPlpFSeW46QhNLFgHU3M07kUmP+7irXiwsXPeJk4cH8vRM/oFdBEylPo4JNvJ/w3DeYe56P170hTKULp2GyNy SCqnC/L3 yqNeRU3LEnHUW7xkHaI/Fn5H0ebFY7pmkYav8y2TKzHTBQ/AsKJjOtaQ3v7wFtaqQp6k3+ftlSEmjO+H3bXVPLyIv+UgPY1DnTnkduC7l8tBTsJjOKn9oatrJvIKpdq5NgTFMwzdq8Si/PPQauYzoOauN95+Vcwdfck0kiei2wN8Z+8asolf1XdCmbWrMVSot2DTOnaoxRWlVc6xSVekH4yhXM2/yeWoge/AQcQjit0sImmdCv8vnqqRVzEq2bFvnR1vSZXu3Mk5HV3jyczy8P9wSBRHFI62S4ZeB2lSi4lELwZH8TYuS9MyuTB+3DmNxa3f2+f835GW/bwSy2YiIPX+dCJjoNKDfRb2uGSWBKOiHbgXEfwaSXsI0Bvn4aAzhOVWepWYwMLWLewHnrsQE3QBpUY5R9m7gVjrXTfvsdNybz0O/7VwVg9MMjaIBjH4KG8mxD7y9aAKJVoeMfZJBsOXuM3hUhuTptRaXS5iIVNjLvNsSQfheLsfNBJxvcOOm22cTt2Tv50TrE6utzb4vAucZbvTKlYBexM3nRFWy4Rx7IUoREjPRLBl38oO++UpqL2dM8YTkutp3KxSKnzT2DlnQJb05pSX4FXj23yZ9VqVATgEfYK3OpBLO6N7FGwcrgwOp76SraI5+TSeQqgpTPS4HMUyyHS6H/Jbs2zlbRQj8mvYSbwt6GeyxEVVPFSoeLafgpSAZHBVHweWnYCNZO1vk45+CuySg/wyqP+43x8ddqNKPLoDvdvhldNrvtAfQleQQ99oXkOZHfCnpHbwPXbaFoB0VhFQLmIdZy8oBGYhE8ZEt/1DJG/f1gQ== 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: Changes for v2: - This is an update to my previous RFC[1] removing just pfn_t rebased on today's mm-unstable which includes my ZONE_DEVICE refcounting clean-up. - The removal of the devmap PTE bit and associated infrastructure was dropped from that series so I have rolled it into this series. - Logically this series makes sense to me, but the dropping of devmap is wide ranging and touches some areas I'm less familiar with so would definitely appreciate any review comments there. [1] - https://lore.kernel.org/linux-mm/cover.a7cdeffaaa366a10c65e2e7544285059cc5d55a4.1736299058.git-series.apopple@nvidia.com/ [2] - https://lore.kernel.org/linux-mm/cover.a782e309b1328f961da88abddbbc48e5b4579021.1739850794.git-series.apopple@nvidia.com/ All users of dax now require a ZONE_DEVICE page which is properly refcounted. This means there is no longer any need for the PFN_DEV, PFN_MAP and PFN_SPECIAL flags. Furthermore the PFN_SG_CHAIN and PFN_SG_LAST flags never appear to have been used. It is therefore possible to remove the pfn_t type and replace any usage with raw pfns. The remaining users of PFN_DEV have simply passed this to vmf_insert_mixed() to create pte_devmap() mappings. It is unclear why this was the case but presumably to ensure vm_normal_page() does not return these pages. These users can be trivially converted to raw pfns and creating a pXX_special() mapping to ensure vm_normal_page() still doesn't return these pages. Now that there are no users of PFN_DEV we can remove the devmap page table bit and all associated functions and macros, freeing up a software page table bit. --- Cc: gerald.schaefer@linux.ibm.com Cc: dan.j.williams@intel.com Cc: jgg@ziepe.ca Cc: willy@infradead.org Cc: david@redhat.com Cc: linux-kernel@vger.kernel.org Cc: nvdimm@lists.linux.dev Cc: linux-fsdevel@vger.kernel.org Cc: linux-mm@kvack.org Cc: linux-ext4@vger.kernel.org Cc: linux-xfs@vger.kernel.org Cc: jhubbard@nvidia.com Cc: hch@lst.de Cc: zhang.lyra@gmail.com Cc: debug@rivosinc.com Cc: bjorn@kernel.org Cc: balbirs@nvidia.com Alistair Popple (12): mm: Remove PFN_MAP, PFN_SG_CHAIN and PFN_SG_LAST mm: Convert pXd_devmap checks to vma_is_dax mm/pagewalk: Skip dax pages in pagewalk mm: Convert vmf_insert_mixed() from using pte_devmap to pte_special mm: Remove remaining uses of PFN_DEV mm/gup: Remove pXX_devmap usage from get_user_pages() mm: Remove redundant pXd_devmap calls mm/khugepaged: Remove redundant pmd_devmap() check powerpc: Remove checks for devmap pages and PMDs/PUDs mm: Remove devmap related functions and page table bits mm: Remove callers of pfn_t functionality mm/memremap: Remove unused devmap_managed_key Documentation/mm/arch_pgtable_helpers.rst | 6 +- arch/arm64/Kconfig | 1 +- arch/arm64/include/asm/pgtable-prot.h | 1 +- arch/arm64/include/asm/pgtable.h | 24 +--- arch/loongarch/Kconfig | 1 +- arch/loongarch/include/asm/pgtable-bits.h | 6 +- arch/loongarch/include/asm/pgtable.h | 19 +-- arch/powerpc/Kconfig | 1 +- arch/powerpc/include/asm/book3s/64/hash-4k.h | 6 +- arch/powerpc/include/asm/book3s/64/hash-64k.h | 7 +- arch/powerpc/include/asm/book3s/64/pgtable.h | 53 +------ arch/powerpc/include/asm/book3s/64/radix.h | 14 +-- arch/powerpc/mm/book3s64/hash_hugepage.c | 2 +- arch/powerpc/mm/book3s64/hash_pgtable.c | 3 +- arch/powerpc/mm/book3s64/hugetlbpage.c | 2 +- arch/powerpc/mm/book3s64/pgtable.c | 10 +- arch/powerpc/mm/book3s64/radix_pgtable.c | 5 +- arch/powerpc/mm/pgtable.c | 2 +- arch/riscv/Kconfig | 1 +- arch/riscv/include/asm/pgtable-64.h | 20 +-- arch/riscv/include/asm/pgtable-bits.h | 1 +- arch/riscv/include/asm/pgtable.h | 17 +-- arch/x86/Kconfig | 1 +- arch/x86/include/asm/pgtable.h | 51 +------ arch/x86/include/asm/pgtable_types.h | 5 +- arch/x86/mm/pat/memtype.c | 6 +- drivers/dax/device.c | 23 +-- drivers/dax/hmem/hmem.c | 1 +- drivers/dax/kmem.c | 1 +- drivers/dax/pmem.c | 1 +- drivers/dax/super.c | 3 +- drivers/gpu/drm/exynos/exynos_drm_gem.c | 1 +- drivers/gpu/drm/gma500/fbdev.c | 3 +- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 1 +- drivers/gpu/drm/msm/msm_gem.c | 1 +- drivers/gpu/drm/omapdrm/omap_gem.c | 7 +- drivers/gpu/drm/v3d/v3d_bo.c | 1 +- drivers/md/dm-linear.c | 2 +- drivers/md/dm-log-writes.c | 2 +- drivers/md/dm-stripe.c | 2 +- drivers/md/dm-target.c | 2 +- drivers/md/dm-writecache.c | 9 +- drivers/md/dm.c | 2 +- drivers/nvdimm/pmem.c | 8 +- drivers/nvdimm/pmem.h | 4 +- drivers/s390/block/dcssblk.c | 10 +- drivers/vfio/pci/vfio_pci_core.c | 7 +- fs/cramfs/inode.c | 5 +- fs/dax.c | 55 ++---- fs/ext4/file.c | 2 +- fs/fuse/dax.c | 3 +- fs/fuse/virtio_fs.c | 5 +- fs/userfaultfd.c | 2 +- fs/xfs/xfs_file.c | 2 +- include/linux/dax.h | 9 +- include/linux/device-mapper.h | 2 +- include/linux/huge_mm.h | 19 +-- include/linux/memremap.h | 11 +- include/linux/mm.h | 11 +- include/linux/pfn.h | 9 +- include/linux/pfn_t.h | 131 +--------------- include/linux/pgtable.h | 25 +--- include/trace/events/fs_dax.h | 12 +- mm/Kconfig | 4 +- mm/debug_vm_pgtable.c | 60 +------- mm/gup.c | 162 +------------------- mm/hmm.c | 12 +- mm/huge_memory.c | 98 ++--------- mm/khugepaged.c | 2 +- mm/madvise.c | 8 +- mm/mapping_dirty_helpers.c | 4 +- mm/memory.c | 64 ++------ mm/memremap.c | 28 +--- mm/migrate.c | 1 +- mm/migrate_device.c | 2 +- mm/mprotect.c | 2 +- mm/mremap.c | 5 +- mm/page_vma_mapped.c | 5 +- mm/pagewalk.c | 20 +- mm/pgtable-generic.c | 7 +- mm/userfaultfd.c | 6 +- mm/vmscan.c | 5 +- tools/testing/nvdimm/pmem-dax.c | 6 +- tools/testing/nvdimm/test/iomap.c | 11 +- 84 files changed, 216 insertions(+), 955 deletions(-) delete mode 100644 include/linux/pfn_t.h base-commit: cf42737e247a159abe9b0dc065a3ea44808a83a0