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]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3EAE6C71136 for ; Mon, 16 Jun 2025 23:00:22 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id B54136B009D; Mon, 16 Jun 2025 19:00:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id B050F6B009E; Mon, 16 Jun 2025 19:00:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 9F4636B009F; Mon, 16 Jun 2025 19:00:21 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 90FDE6B009D for ; Mon, 16 Jun 2025 19:00:21 -0400 (EDT) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay04.hostedemail.com (Postfix) with ESMTP id 463D51A0ECE for ; Mon, 16 Jun 2025 23:00:21 +0000 (UTC) X-FDA: 83562784242.24.D6BC73F Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2070.outbound.protection.outlook.com [40.107.243.70]) by imf19.hostedemail.com (Postfix) with ESMTP id B0C121A001D for ; Mon, 16 Jun 2025 23:00:18 +0000 (UTC) Authentication-Results: imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qBGWWgKq; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf19.hostedemail.com: domain of jgg@nvidia.com designates 40.107.243.70 as permitted sender) smtp.mailfrom=jgg@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=1750114818; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=muDMjaNhoKAT84AULJGHqZZyiw0kdbhkfqrVJHfPsjg=; b=uJh6G5Z+/tHbuAVQCbm/5ohxxfuIPx4RlP75PO14XrbhixCQxu9uaue4Gx17PyFsGQtvp4 EFzmaYLt2EhrT0Nyn1idd9lom9sqvZ+xMm6FgKVo/3N96sk+Kh9AsNIGEomJ+gnJdtOVoG AXBvPQdEiP9XFfFhfq7PX8KSF5caT1Y= ARC-Authentication-Results: i=2; imf19.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=qBGWWgKq; arc=pass ("microsoft.com:s=arcselector10001:i=1"); spf=pass (imf19.hostedemail.com: domain of jgg@nvidia.com designates 40.107.243.70 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750114818; a=rsa-sha256; cv=pass; b=ILvNdoy58EqWUrGbsEs0pweRuGb1OoaAj3hjvj58CUrV1GaBbkwT8LS7cJYkM8OShOUFXe tLI91CQ3rnAGdVNlRTZ31tAHIZdxZludPIQRWVZEFA5+6WKWxGf06gEvk2TxQW/iP1ack1 pHVfID74F/Fr9TGJ7JPiQc8t3Q59yTg= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dp22pfNLu0NnQNlNBUxjzxTgWje4g0pP0HVyjEvIGJxPpFE7CVLrsBdl36jFy34Xzys2ha13vstcvBybFCau3aPIbdok+bagz1sOIEkmdsbcwPCi5ObdopGgPpjADoTc3GQMOG4+WmpXS1FImS6UKhnV53qgG4Gh5J8N7gaV4wdLHbvCLL1clkGgTc8JOEXIoY0Jf+KYYlufdIYGbCrGsW4k/JkRojhAgnqhCML5X8dNbMu1hvHfAoRQZtIG/iv2SVcraRnPJvkomsRuxwMzplDdlFRmVR0mTXKZtjSW+jJLazWSsWGKvE5ZsgyInZdNciGIy6emZaNQS8ufwDLmxQ== 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=muDMjaNhoKAT84AULJGHqZZyiw0kdbhkfqrVJHfPsjg=; b=nu25PLHKv0mS22i2mdrrS0YYU6Xb5pnQIQTXoSGG6gowAK31qLEExfXsFC4Ti+cHv3wIFvud/iHmjlOdF1xKaR73Vs4KGhrNxLsUOWOFiF2YVLyscD2gT5cRWLJQ4bNimAiLzmuDOLmdmvluXa0CpBqCJjRR0ZsjlqS0Y+G3KvfDJAwT56G1KAAlqoxkx/ZSox1Ek2T/dSEfRZzMtzAo+lKJY652mNrOZad5O2SO0X28J3QezEm9mtYP/uX111Z0GHAG+RyWrmrTns9ZhtyqrO6rquRRDk7FDDqsBsJdiE8TJf9PBEU+D0HUgVpgI8oKvzkXuf3/Rw0jx8pj6j+lUw== 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=muDMjaNhoKAT84AULJGHqZZyiw0kdbhkfqrVJHfPsjg=; b=qBGWWgKqWwPdabWzZBTbE2nzAPQKRCsPRpx2L4NFFtsdl2/3kwVNu3fvIW+me6NrUpHt6qHJ6ttPsPcdqZpVKy9tvb4d+EFKRT2jE27e1m3lEkNRuhQBWkiwyAgC2HfVKkZp4j140LaV1TSDFmoskP7+eK0xYF/d41iIkNb4BHLDcG84qUpXqWpefNah+I1OmASl8oQApyPDiDnnYaCISovaRB8XY5so8xRSqtErUyBIaZhDiePIkwMeS6cDsmbjMi7DHHdtIwp7LOonR5iO/TkOP5CdChdDlSjyUlxEtdt75O9Z22nPm4We99d6rrKwwLbps3E1so9AjQ7WU/Iufg== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by IA1PR12MB7566.namprd12.prod.outlook.com (2603:10b6:208:42e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8835.29; Mon, 16 Jun 2025 23:00:13 +0000 Received: from CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732]) by CH3PR12MB8659.namprd12.prod.outlook.com ([fe80::6eb6:7d37:7b4b:1732%7]) with mapi id 15.20.8835.023; Mon, 16 Jun 2025 23:00:13 +0000 Date: Mon, 16 Jun 2025 20:00:11 -0300 From: Jason Gunthorpe To: Peter Xu Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, kvm@vger.kernel.org, Andrew Morton , Alex Williamson , Zi Yan , Alex Mastro , David Hildenbrand , Nico Pache Subject: Re: [PATCH 5/5] vfio-pci: Best-effort huge pfnmaps with !MAP_FIXED mappings Message-ID: <20250616230011.GS1174925@nvidia.com> References: <20250613134111.469884-1-peterx@redhat.com> <20250613134111.469884-6-peterx@redhat.com> <20250613142903.GL1174925@nvidia.com> <20250613160956.GN1174925@nvidia.com> <20250613231657.GO1174925@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: MN2PR03CA0024.namprd03.prod.outlook.com (2603:10b6:208:23a::29) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|IA1PR12MB7566:EE_ X-MS-Office365-Filtering-Correlation-Id: ec76aae3-5e30-416b-869f-08ddad298d0e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|366016|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?tgYGT01hx+SyidQxbQx7qzd1e86DStbYt292R9SVGobnh7x1no0lC5Vy2kkf?= =?us-ascii?Q?5ygnMQADzKT/0cc+qyxP7OTOxYcbpEGBI5iKTl2QiXdkWNLF1jlZIvqKFBXd?= =?us-ascii?Q?B5V1OaJif1au6yl0d+MEpXHBD5Wh1ahXtuX54jpspC45Tps/DcbEsZjxc7xZ?= =?us-ascii?Q?9r9WpQI2/YQt/hGMKLf/CnZ89JiIIVVXjse3so6KF2rXSqghY/XRY54ugr9j?= =?us-ascii?Q?4BY2GRI146ks99I1kP8JZB3WjIC9a6nqBRUP5SCz8KyFionAbnVWDfs+daGg?= =?us-ascii?Q?aK2tzqXjjFpaE9/AqglyUfdXsdfHYbbqhyi+HBJ6PJd4GKL35207GMvnUe3/?= =?us-ascii?Q?YmH5TIQjWw7hYb1Y3KXN271gXhQZ4maknBs/ZXMjTVRg7tna9j+MLJ62J+Wl?= =?us-ascii?Q?JQHnLJZp2U1m0MTweHjdg9HdtfZoA3j1Z+zQnJlrbAvIoZFr+AF6QoAqV5p8?= =?us-ascii?Q?27LG2ZDv75FfJNcbMEX2CZlocWoHgKMlQ84ONrI2dwFMjd+UlomY2Kuwvhfa?= =?us-ascii?Q?ohgWKHiT0yNhMHALzg0tuZxk810OOp8x136vZeFbldq/U77y/swFr4pw9DKW?= =?us-ascii?Q?FJ8hM+q9o7dtDndKhwD3H1fgcIhIsLd2BiwsccKOhabvVKQGrwRdux+hIMxe?= =?us-ascii?Q?5GXfUOwhoWEekOqRX5mEiHm82AOsUi0qaD6auOaoc6ogT91wTXx2ijMsJ7oZ?= =?us-ascii?Q?+8j6qxhb4R0z1LO7UW1t7A/EPRaCfwDuf+lVenO2JstfsXYreqiLPbgtZzNC?= =?us-ascii?Q?KC8IhbOXgRVNzFncnjjVX2oB1YzLaetC8yuDdrubgYFeAezT5cRkxZvjx+EF?= =?us-ascii?Q?17UKO8RaMGUCoUCuibPiQHzDXw1kaB4Jl+9JotsLyXAuwJRKbrucOOdnP1XN?= =?us-ascii?Q?Ko7fUL8H+hwpfo7Zj5zjBg2Afs3pQgyZqnWy2YFU/gYh69w+7oildiIFUmU4?= =?us-ascii?Q?uxDeZcBmkMn6cL3c0iECvyEpBY5DLRf8xE6TFVEAB30UZ4XPRjW3WSX4hvhZ?= =?us-ascii?Q?6VBbBmnow/L/J9tUkSbu5hGpAwNinq6iFyoOrF2i9twCPNWbPmU3s9NSmeSf?= =?us-ascii?Q?vvoSHh/aN7Idcum+vMKn+Qa2eNSMs4ssvjEzNh3HsZHj9R+24/ivQkxnMsvo?= =?us-ascii?Q?SCvIAjkb9EFsDttHZ/xEV/Wr469GOqF5OClzRi6L1gzoHAC1cbJSUS6/CJwH?= =?us-ascii?Q?N0lbDsgjj3rNMPtWLQ1Y9g2vQ59GxRu1RamFSNhNQ5WaSBeX/kWXTtbBaSvI?= =?us-ascii?Q?lgX5IlEsTa6jzKEkrGIBKMXD09xifho0scgT0YVnkii3uihNkDG2Fj/5ZFbF?= =?us-ascii?Q?Cg9l5m4xiYQKyAWw//m1llKrYRAQ8wouHsbRKFWJ1wM+NVYhymb7COt/BCGB?= =?us-ascii?Q?WWzmVJtpvHqNg3k7CC7wveM4J2RgQE8vc/5UFAe6a5nO0rSsBVCwCuicYkR4?= =?us-ascii?Q?tITDnR32I9w=3D?= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH3PR12MB8659.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(1800799024)(366016)(376014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?f26esCfIQ6iNSM2yyGttNvYjBCE/FaqodJSC6ULzSs/JPdTHZGvB1jb0EIob?= =?us-ascii?Q?Ne0hZ2kvuT01isBdfod6SnTUDqNE4K2P3eLnpdkPjkBDAYbLOSMan21zBDS8?= =?us-ascii?Q?HaFSmVaY+JT2nNJ4VaOzQb5jXGIyKfS3lGnKoHzYxKXVs+k3hO2Hf1EwGxtf?= =?us-ascii?Q?wWcQg5hB4GabW6R5241RS/88v33z7Uo7rLxX41gLhB0am1dvyBwDEjM7IdJs?= =?us-ascii?Q?Thr+hy0cXTp2kwOkTeBumreEkH57E/GE4FETBuBD3yq5eAwjPU1t0KzFl3KC?= =?us-ascii?Q?7RnX3jj8obo708PMEIjGHwWf+v3inKtxClpNMShVV10E+oXtlKX+or5zsisa?= =?us-ascii?Q?KLQfEsue1vkIGuM8hVW3bEVL5zeTlCRZINLmMeMAh04Rr2bhZaeaYXIXanRZ?= =?us-ascii?Q?y9TgTeXpERu2tkWNPELyJOp1YHXOt40M8SZqEmieVspgiaIWK23gXqORYq/E?= =?us-ascii?Q?s95kLMqs2TcqHoaveivFFf65kWqIiNjxSOIL0AxRpf69Bj9ciu6PdSPv6kil?= =?us-ascii?Q?APHrxzo2Uj5C0RigWpBwtecd/2QHfFrkAmXFblOWD1ykgOvCVG3vRv3FdspB?= =?us-ascii?Q?3Y+PXUk38lX2I+KstmUqSuMPoGMRLYwNI1iXoBTLcZx2WHwpfPaXz0jq0/br?= =?us-ascii?Q?NsT9wS9IS8E7afKooa9TpH1rFEhcJlGRgQnRAsu9j1MY0llDeCfYoErIPtHJ?= =?us-ascii?Q?sobcR+ymQcXbYg9sgtPhULrxWrZMNZ353JCOuYyRcpwoOVezuGQombYKUx1y?= =?us-ascii?Q?fvZA0s4evJ6lIDHx8UIRMohzuexFOGk48MAed3Q63lP2cj6TOTAQfvydlp4E?= =?us-ascii?Q?1+KKQ4hhINVP6mSxAelmPBmP9197yb3RP0vVOWMI0FFbGcez4qoaQvyVkGus?= =?us-ascii?Q?j3mtrzg5ZmxZkKnGe6lDNOcU/pZG6IOmAwT0la88IPcCwMiBU9O6myWwJKHr?= =?us-ascii?Q?hk+Mk4JxLbvP03SIslbkXwnV1BhobustXnADOax8FI6Tx/V/v/lTCPupXZZd?= =?us-ascii?Q?5BZtGXU0BDPIxc2TxwCwhb4pL0mu5LQsVw5VTwsmvfZAmLdlpledKdZ29d2R?= =?us-ascii?Q?p4tO/MvOkMRjYtbN8FpwjCTRYqhF3bB4SSHlAG1k/26+g/Voqj4x+fvbu7Pp?= =?us-ascii?Q?hj321O/zC0AEj+OfTdRGlao0TvPp7aSzisGk3wTnugnKCN0lk3C4+bGymwuR?= =?us-ascii?Q?QNSNFZzse0AmIxKImFjw5wozSM09gfvBeeG6sK6is87GlX8T3ODbPKEG1/0v?= =?us-ascii?Q?HQZAuOY6d6nN4Xp3VO5ojG75ysGT/kt4WR4pA9tqY5BfHVmwYfq+StJsVnrN?= =?us-ascii?Q?mKBorOClG/yC/SjujnqWttiX6PpVHUtlJIhO5A+HMJgU9eLAlKDmd9cNmgAf?= =?us-ascii?Q?XxhNltTwcZavrK15U1xoxvWko8pyuEhmxAEW+jled33gZYd4PuZFo5wJR66O?= =?us-ascii?Q?9ZdsnVLmqtC4CMD5qjRA2VSG2jrJBWZogtVwg2wgxCGBAZXnXOpFjilH3AgI?= =?us-ascii?Q?9GS+dr5icQ+drYKo/HDhVhddvyNIIPmio6vC9YYYYBMfcrB8BH6INqkoCYpq?= =?us-ascii?Q?PIKo9Dl5nCJuMdSR+Vo6YsTwlIe045JISje46n3y?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: ec76aae3-5e30-416b-869f-08ddad298d0e X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 16 Jun 2025 23:00:13.4289 (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: Qb4DRb673GX+2nyNduuma+kwAhWReIsdQ/gSS6iYvhMiL81cwuDGUdwoPc14ztZ7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB7566 X-Stat-Signature: p7zdm89qro4c1exjgi3saqzq8ezj6sdb X-Rspamd-Queue-Id: B0C121A001D X-Rspam-User: X-Rspamd-Server: rspam09 X-HE-Tag: 1750114818-101176 X-HE-Meta: U2FsdGVkX1+5F2ucgQkcYXcmMrc1NWRvrmFMMAl4NBfFFyCFjWXTcTCQx5vAv7PRiI6ULn09p8s2657ZuxoqrPg3jdm6mnHMiaDksqGx7FXruYAtxeW2uuhFWD6dyWEejNb1WBdf3oup36A0NxFERw1wrFswxhwOaObyQ4NUu+zzHOeJCaLfh1wykqbmk3tdBqs+IxLseb+tAx03hEC37ldM7qAfd1Q9HGyFscD4obC2NKwEdcW+e9gxxQ4QfVU9x+3rln02QHyRsx5etUdv5bWy/fJXiuw5AtiozXL6KlpQjzuUsWoXAKH+g3ifCvjysrO7RrWcsrnUCj9nIqlbTj95jmfT9T8cYvzqz1mqIkkponir2WZmxQ5R0j3fREqU8LDINv71S7259xHl4RZPR7LVJ2KM5r8EnxLGo45lW7ukyVLCJ1Iea2AHRBBjKWENj39aD38kJFWhJ8nYjwnOLbiuQw68m1zN8BOMI3GkOwabNbKYDXrUFoj7kzKFT3DkAyLtZm4i8IXMDkJR5TwV0u/1F0fMIV+1LA7PSjxHTQnNNY6A+At/bEncOzRZXfRooNL0VkDaiVtS6hLe+shQiOWj0qLhRLpT7RDpGp+o3xfCKFtud7twuRGamFSf/IwwEi9RkNS9/ino9ds/GLpodW/3YjrBpwhNLHGxv/wY7xvTCbj0UB+eIqx0Q6iNqLB/GNdlX8G5lRl+yB2u5cg1WRNvo2hnI6vxGu/3YmoKGdA/SkxtYjA7TYNb7Rxy4OUET8c2N3pmC1pBQoneDbvPovG1jy6zTEl7AnN78uU/iGIxNRL1CRKaRXgJnyUlxZeP0eSwjzewIycCAt63sl+NKgkkTYYT+bzO4SYtErTZuCMzGyQgOEuOn+r9s2eGMUuqIUDmPrQeOoyka5mo2cJCCoUCWuRa9AaVjtiStb+8OUrKWaHmuTsr5yxK0YjB56Tl0TrqD3/odTNZp2lks6+ 38PvsaX0 6f/Fzpt3afKtHZBMVfPJKASXNBb+duummuVOaYP9/d7s6iyjKbeOWZsPkAg== 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 Mon, Jun 16, 2025 at 06:06:23PM -0400, Peter Xu wrote: > Can I understand it as a suggestion to pass in a bitmask into the core mm > API (e.g. keep the name of mm_get_unmapped_area_aligned()), instead of a > constant "align", so that core mm would try to allocate from the largest > size to smaller until it finds some working VA to use? I don't think you need a bitmask. Split the concerns, the caller knows what is inside it's FD. It only needs to provide the highest pgoff aligned folio/pfn within the FD. The mm knows what leaf page tables options exist. It should try to align to the closest leaf page table size that is <= the FD's max aligned folio. Higher alignment would be wasteful of address space. Lower alignment misses an opportunity to create large leaf PTEs. Jason