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 004E7C77B7C for ; Tue, 24 Jun 2025 23:40:43 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7DD266B00B6; Tue, 24 Jun 2025 19:40:43 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 7B4746B00B7; Tue, 24 Jun 2025 19:40:43 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 6A3BF6B00B8; Tue, 24 Jun 2025 19:40:43 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0013.hostedemail.com [216.40.44.13]) by kanga.kvack.org (Postfix) with ESMTP id 585FE6B00B6 for ; Tue, 24 Jun 2025 19:40:43 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id 0C5A31D818F for ; Tue, 24 Jun 2025 23:40:43 +0000 (UTC) X-FDA: 83591916366.01.F6E0A5D Received: from NAM10-BN7-obe.outbound.protection.outlook.com (mail-bn7nam10on2060.outbound.protection.outlook.com [40.107.92.60]) by imf15.hostedemail.com (Postfix) with ESMTP id 551D3A0005 for ; Tue, 24 Jun 2025 23:40:40 +0000 (UTC) Authentication-Results: imf15.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=nqq+XII3; spf=pass (imf15.hostedemail.com: domain of jgg@nvidia.com designates 40.107.92.60 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750808440; 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=+PwhEnGbytmuilaqqZR1D8Zgw7GngsgDs1vzu/8rYZM=; b=ZAz2tTVrh3fSAEOesDSbl5SZHDqvWBkewXy5AFHOX9bA161quruf96V8FyZs9sRyiltVno 95cpNwx7PHIYVkLJXEdIG2ywyHszlnW97A37wWwzy0deS1CDXITGZ/7XYyB6Y7fmwNlXd+ FunEBZdU3Ad1ZEkRGuOsgWM4hNQsiFE= ARC-Authentication-Results: i=2; imf15.hostedemail.com; dkim=pass header.d=Nvidia.com header.s=selector2 header.b=nqq+XII3; spf=pass (imf15.hostedemail.com: domain of jgg@nvidia.com designates 40.107.92.60 as permitted sender) smtp.mailfrom=jgg@nvidia.com; dmarc=pass (policy=reject) header.from=nvidia.com; arc=pass ("microsoft.com:s=arcselector10001:i=1") ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1750808440; a=rsa-sha256; cv=pass; b=nF+zzg90Z8YYHenQPcDFGVwWJkjYmcHGcKsO+LiQZJfaclxZzpus/RvAAEtygr7c8vYumf +BJnYgPIvIt+G2R1D7ieY42uRK+VkXjvasisA+I7bd2h6tuC4PYlEk/bkd5+3yukfyNjMS HBry7tVK2Ef75DA3AKrh3ziAgw341qY= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=hRH3uI7IFMpFV0bWmpJEbountPr6eAFKniryhN9RO1dNFNr+Fa7ZDVikOV8xxCVxVRZT8h6DD0Qbh3cPMVS4+3y5BELx4hwtyxvLqjF7ZyT+/ZEMyib42ScEdk1blWrDEWyKvciXhVNfmE45ame6GX+Kne6wUK63iTXpMfXI0DmmbcyF8mztg/U7krvLz6b2q73ZWxteIXlnseMCnYkZNz6Kjpcgpx1afMpe2uQ+BMKQQTtNKz+9kogXyGFBO3SfpI7yw1/nmleSz3rB9kQnGwLfVovkbRQOmjyhtoUQxFjKMzG0CUJ22Ox7JGAEnmrMB0f8oqtxz/Bk+mRgq38/wA== 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=+PwhEnGbytmuilaqqZR1D8Zgw7GngsgDs1vzu/8rYZM=; b=D92HntAOm5zZiERkwV5ztnZ6ZH16Oc9WT4ud6ZUkLj3vUeIlA5C4+PDZDmHi9SggGLc9rSbklYxYDkDWXdcrI8eLyemuLHy5/P3HTyUWXQMRuqrN26zret+qDAfbfA6q+Do01bSxpbplVuOnT6qu7qhZqGUaQf5F2zN0fI+MVtSlTCxNt91AEe4t0jyIF5LDd4SyLSB1xKIlM/qYciXu0BEF2vKnNsivXct5MAutGao0O8Wz+e/aa8DntZZY+xa5Z4oKlcHwK0L6ZF5VYtNQELM4nmx1thp6g7q9xI3UMTYcR55kyO8n248LWkr/viYvjO8A1n8VqJ8uRPztUdSndw== 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=+PwhEnGbytmuilaqqZR1D8Zgw7GngsgDs1vzu/8rYZM=; b=nqq+XII3OzFxwXIqD9+Dvkj/GMzBAnHDkjYB0++86/kZP3UIJEFfmM5wmSKcCFJob3Nbj3yzJg81wKTvisHHRZJmn5XI7q8sUdnzpHEc34SJnfY08/mFoHRHdh/GRAIKrlGZiAVzwNnaoUCjI3VcF8SxWrktDvf/JJ2y/dGdZ3WuKHqQpLZHk/sqfvvEuN19+hZ027DE0kmoy+xCaqbwZeutqZqaHkuzTxRHiTIJCd3eujhBZ0Si9ygPSpY6oJg9ykH64JrwmYAei7lrq/WYPngiVg7nIXRln20inijy7yRJsjHbIxWX5QYmZ9mWeqbZTwao+1M32z03MkjluEJ/dA== Received: from CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) by MN0PR12MB6128.namprd12.prod.outlook.com (2603:10b6:208:3c4::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8857.23; Tue, 24 Jun 2025 23:40:37 +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.027; Tue, 24 Jun 2025 23:40:34 +0000 Date: Tue, 24 Jun 2025 20:40:32 -0300 From: Jason Gunthorpe To: Peter Xu Cc: "Liam R. Howlett" , Lorenzo Stoakes , 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: <20250624234032.GC167785@nvidia.com> References: <20250617231807.GD1575786@nvidia.com> <20250618174641.GB1629589@nvidia.com> <20250619135852.GC1643312@nvidia.com> <20250619184041.GA10191@nvidia.com> Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: X-ClientProxiedBy: BL1PR13CA0149.namprd13.prod.outlook.com (2603:10b6:208:2bb::34) To CH3PR12MB8659.namprd12.prod.outlook.com (2603:10b6:610:17c::13) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CH3PR12MB8659:EE_|MN0PR12MB6128:EE_ X-MS-Office365-Filtering-Correlation-Id: 69dc79d3-d7b0-48a2-c95a-08ddb378835b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|366016|376014|1800799024|7416014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?luIrPdCSjxoBhP4TheG60CRoQ7jzhCit79qB8F5srxqG58Xep1649a+rbNaX?= =?us-ascii?Q?B78m2RadElH0JIqgc/KoURCP0NzXlMorlkwYGyPYzW3tI/lpwlo69C3Qla8W?= =?us-ascii?Q?Tq6QbpTiDWk8XEMgTQOGoDb+E9A9gHCR/uNnobH3V30PI2as4mv+0cb98yYs?= =?us-ascii?Q?3LnEgQOanyGXLhR5qL7q5ZCgXP1r7NuHZITHx0+n2YFKrKvbb0Lh3u+1/9JR?= =?us-ascii?Q?hWI1kMeHYwhJro0GiwiEoWbPLyUQgJaVxNpaRR6iytvH3MU8PFxbNQcu98x0?= =?us-ascii?Q?gSevUi8MP+bMepoNtfr4up5ACOMPYIvOXCjUwBFUIpXFTXtPUgkA/v0N9+Fd?= =?us-ascii?Q?pEOYcSyHaBXG333JY6I8iqBWkTV8c1MTVPZMxxyAwRxpJhcpwMaxdU8HBRQI?= =?us-ascii?Q?4GLCRdYMjI+BjbaIko04hflc09OMk25Exn0N0nqRPY9kdNkratXIjum7QvgM?= =?us-ascii?Q?Jzx3Oa6UJraUP6gm6gGrCElghls1e8Fnvu+bUv2LUdX0gGbNw21/jFF5/TI3?= =?us-ascii?Q?IIEtmFJi0M481eqj4gUOdcuthPd776qee3ZYKt/L2KQMy/N1k2LB/Z5k/vs4?= =?us-ascii?Q?BZgLi3rctkktW8EyKtsjvSHVd/iQv6laSoAwJUOXEdVhS7F9qnR2oQnzb4g8?= =?us-ascii?Q?QVcjFBKKQ15c930silG0LHEhY2cTkxN8YIF995B1TG5CE3hKJ8SL1wq3HoE8?= =?us-ascii?Q?UNxO4DSnpp5+iLzPYOyokJGMWkanhC1gCx7AjUADHh5fSVIj3DKhH03FdzBI?= =?us-ascii?Q?33z+QYSbx34yZTSZOIVaG/djNRL6Od9cWAYzzUouFd/PpzjGuP32slOergZ8?= =?us-ascii?Q?7snzmPITWy6dHfv2S9NoMChCuPeFxUTvtvKonkAIhytDolz7F7PbQya5Oj5N?= =?us-ascii?Q?lgA2rK2MdeakP458zWsUxwLrjowPOswtEMAzX8ZmDDEESr0MDGJHh0GyWybw?= =?us-ascii?Q?o1/dRPbpqUBNt0NNDhv4u6/nr8GWJ8e+TM5qI2mWI8Gnj1gPYDiv/4GbQFaj?= =?us-ascii?Q?iqtfhxDHOnaAbykIb8UKDnSQrxVk6g4GVJIvMuENGAL6FC6DeBDfWXg22kNU?= =?us-ascii?Q?HpwyARxGuzWJnKjp7NbjhFMv5c42+lbHxms/PpoyjsQPNShXUBwc34K7R7am?= =?us-ascii?Q?uYmORdxJWnlGlGm8Ycev9E4Dkk9YZv/ARNARbQqg3ZIbtBLWgfJXjkzy0Q9R?= =?us-ascii?Q?h+xui2BTND8G0adBa7Ykwh6woqFz8tAi5JNAzk3lhEb5+e0r8g5njBfuK4B+?= =?us-ascii?Q?x9HvL7S7xz7bDu37Xf15OgPbLgYBx515OPj3hvsNRsbptNRCoIIBbszZGNAJ?= =?us-ascii?Q?uHDKghVCgCnGV3rVDAKxcf0dlSWFSKqULsN/1qlO/v7ybS4Yq50ilKL7UrH8?= =?us-ascii?Q?2h2CG+OJd+FkAmk3czWRsRoDWqpovp0iDecl5+JHrL92krve3ZSPFZijc0bR?= =?us-ascii?Q?KdPMlLuZafM=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)(366016)(376014)(1800799024)(7416014);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jEqs23IPc+VpK1B/ZM7LQdzmLCiB3weurrJIAHJcQ0BLjE9whrRn4fSzrPil?= =?us-ascii?Q?jWyTb3crGQ5YhV2p+Mbh94uVOAo7wJ5HqegZvXfp9Xf08k9prpTQFiAJq3QA?= =?us-ascii?Q?Rbjvbv1FtOg+lbcDhtbwtmPUvZknlTHJOGS964c1OClD3vEmBt3LBFLcpt+f?= =?us-ascii?Q?xFF2SRtPiYrTWMvq6jSgwsak8fveUIc4LxkHL45U2kQl1PyAVbQnynVDt52A?= =?us-ascii?Q?2QCBi2pRavdp1ylNiAI3mjsahZCUznv0s/zvciLZS0JYm4eYhkRJv+pBASGo?= =?us-ascii?Q?Nh7KxDT40kpPuDNiniMkZ1XaDvUGUSoQnoaGo9IEWkH/hh5j9UVwYTa0pLIV?= =?us-ascii?Q?91JS4EWnJz1xN2ZSe19sv8HZ2IGJet3zW/n2SwPuyy7DmuJPZpr1j9IX0/WP?= =?us-ascii?Q?xAictcQf7sxbvQhq5Ci3Q0i3RgjdyJgFg/2c1oXe131izhqgzLEBJtlfLLde?= =?us-ascii?Q?IUo7ypKhRE2wxlc7xzZibl0r3MCYu7l9gYyaR8IyDJJ9+TEf/h6XLkcf6/PI?= =?us-ascii?Q?Vp3v8qd6TJwolV+OE9KJSrGqCoZ44YQ9fWyX0xnc7ToptCyQVpOdMdHS/RIO?= =?us-ascii?Q?PgIgclUqoIDEVwOCbnBgIVPPM4zIxujR8ZMXbXRWpwYqMushqJgXlc63c+tf?= =?us-ascii?Q?CXCgbCzLVbHQwh7ZZw62xUuhCcswq48/OFfQYih4rrKg5UP05gO+rYDBKe7L?= =?us-ascii?Q?jZQEyefFIIfMzWwedNZQ+8o7ZkWguhSnKPkueMUxJYF90+AN1aAzKKFsTpty?= =?us-ascii?Q?R8drdzKpO5oMUPOdx07bREldos+B/fdXBnirr+08AAnNqtHL6T5/V/dkEesC?= =?us-ascii?Q?rBZAXOOWcT/74Jk+ieLzSqOwr8W8DityqGAtYLt+Xpxn897mj15zp+AO2wRk?= =?us-ascii?Q?G89wWlbHixRf2USodR+h3HIlgqetIR2ix2uwyDPDSxYuL/P+MWoFL4H5UmXA?= =?us-ascii?Q?ej4W+SX+n4pVVVXgvic0R2wG5CJ0fWkBeh2lgcGIARUezGFqK40WAXWV3Gz8?= =?us-ascii?Q?tnxLsTVqYPEfev/+u0MADp4NqWZJHjavb/eq8FsVdM3hKsoSSxlGHnKq1sRM?= =?us-ascii?Q?becpwcmX5a2QOXomaFmRl1Vk1ian9FWFPR1VJegtYMq8ZXh5bcWXkUKNNdgt?= =?us-ascii?Q?JXqxq2ju+WP3LzGbtTybklc0Gt6k8Y721gC2rOqNBGpqSR8QgrDuVdhdLTeK?= =?us-ascii?Q?sjwzMVgVGGg8MoyWY7vHR2GCpyZpVfWhAaHS4Donkpxd4TOp7KgXGkAOwxI7?= =?us-ascii?Q?1DfKOcaYxP74lZUzxJqFA7jn+hOjchMo7A3UPPDKTFsQnCH/W85hMpAOP6sj?= =?us-ascii?Q?u7Kf7TI6FyODcTZwAtlasdPPqT95s/6JWuBsgtEQpEyWSbPKKMMFz1TLSFgR?= =?us-ascii?Q?4WRCt+Xe8gUnt25AbHpAjEvtaYbZcpS5P/LTmJNfzaHnCzwq3ON2Uu5NkvTW?= =?us-ascii?Q?IrUFQPV5wuKDPFKgbVIjeWtP6JYTaIzHgFuhMXei2k3aZNo6B32ZkuUbuX6N?= =?us-ascii?Q?M2+cqwn1XwPOkPNJWBELt8UYHMNhTBB3jjGrzVtM72ZDkhTn9fLO/L/wFMr6?= =?us-ascii?Q?1BA9hCBXCUvxK6GXgfmIgUJu90lVRKS5pj3kOQ7s?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 69dc79d3-d7b0-48a2-c95a-08ddb378835b X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8659.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 24 Jun 2025 23:40:34.3905 (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: 5GCAQLx6Fx6pVv+Qc2ZUPqWeFzxm38DfQAAsk7ICuYg8z5GY7qD1y/8RJId0ZZEp X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN0PR12MB6128 X-Rspam-User: X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 551D3A0005 X-Stat-Signature: 3n9kyp96seyh3ej5uaoywfqu5tfdfxuu X-HE-Tag: 1750808440-280563 X-HE-Meta: U2FsdGVkX190lLnWf8UHzNsATVmBQKntrcOyNW74mmCcnnJVsm5dxlQ18AkidDJtKn64go6pzQ64Z3MimA3nyr4+SN+1L0SmHqOAHIQruSUzumjoGTk8f5HKB2i+OSkLf0X6bv+FtCCeHyHLi1b/775SkWUvPZA0En9d34PsJuhYm1TFgBxWB55Dvfq64DNTKCblqxEwDKKoaAcWDqojuxM5ms1X+LsT8USMgd4RuzjiHhIFOFLncVKsWY1/8XqT2lAHNGDDrIkW72aJbgbGAY1kX5Zn5uWNGtR6tRmzhfXz3CwAs4xIUfpPuwoWE4yXUNhBKI/MywOJNe9zRtKmdIuJ5HC/dqu5NaSbENBu7qzFnIAfBejlxYESin3tI8ck2KaU9mUhzPxJhAdBLTcLap4myYJWAbtQ+nZvRKyUbRKYyEIQCCXTxjgAF9+hBv+gpuESyvt67zzBDIoiQCk8cJl1k+m/083Dsf1PPuxUV4nxaGiVbeNZ6SNVhMhEvMu2u6As7UyiXRK6zR9y1/BV+SdtW1a7V2IF9PatePx9z6EsbYu9OtS2b2xc5TXgIFk6hOLNky5/3eQklUvq9Gl9GiWmPR5V2iPdLpYX77tZ7KqY2mrm+MEtknlEThQDktGvyIvZzfM9erQXxav/VrZyCR0Ho9VzPFvaX0+jC3pohMjRx2ykcF5Nr1QVpq/s8QbKO981xbrZxCc1mQV2szJVhlAwTV5Sevt/2fKyKRyuMLj7outv+Up9ASnjcADZq+eapBUeXGHcIFKYARYRRIG3knxLexbrSFss5q9Qw0YjKMDFmRd0Q+AuwntqZnq5goy/DHptGwBm5CCZ3tP336D3xqSUYUluH6r5wNOuTs9viCqnKyI9EJyP4icWMOG5HeJvq324igHvkw02RScIvaUHBgJRx9TTas5xXuYQU3jSZKZGPlMPWYYBoTkYslAh3+5KN6s+jGcZ7L0UHqKf2oq 3rn4y8Ly JC8X8e111yiqTrUIsv3z94deXgMgBCmlt0h9agaWjlkWq+W2eFVBo2SDKszTFhvKcxAZOH6DVNlWJ5z37BShMqiIocKgCJ9t+b+nQ5Y3Usyy9D2V4RlOEKNyFMrbnMLxDf5hbbkl317z3FAW1lom3Dsz3jKcZw619ZwYHwLKJm7KGyfRXiLBEwbWalqxPcVbhRc4J6dkBNBvMZo6vszOyzlHjs9SQf7dm9ky2DO+Kt94NDrnuS/ER9eBqCOZ1puU6ogNKVSg3FWmG5TQwJsjTgzwW3IlqEnsvwTheH5KjxIGaIbov3mkxV9CNhqy0rBUyK4W38tiye06hYQOGWXhUls2MlmvjgM9Uj0JAqKTnYmQGe/cWIbwvUKixhqQl5cEnQzaXpNB3wEyzvEyF/nGV3xQcd9ZxSmrI4w704CgISCDfMPFsFOoCY3P6WOpwgM5i8tttpLSnQfmMyoNFuajGp/HPN0dQUaoQjM1rsVRsV0MmeP1php8OSZfzYeUcDYFaU/7okdfujMKgEADSn+YgsBQl7EaaGB5bhy0pwys0oc0rmqY= 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 Tue, Jun 24, 2025 at 04:37:26PM -0400, Peter Xu wrote: > On Thu, Jun 19, 2025 at 03:40:41PM -0300, Jason Gunthorpe wrote: > > Even with this new version you have to decide to return PUD_SIZE or > > bar_size in pci and your same reasoning that PUD_SIZE make sense > > applies (though I would probably return bar_size and just let the core > > code cap it to PUD_SIZE) > > Yes. > > Today I went back to look at this, I was trying to introduce this for > file_operations: > > int (*get_mapping_order)(struct file *, unsigned long, size_t); > > It looks almost good, except that it so far has no way to return the > physical address for further calculation on the alignment. > > For THP, VA is always calculated against pgoff not physical address on the > alignment. I think it's OK for THP, because every 2M THP folio will be > naturally 2M aligned on the physical address, so it fits when e.g. pgoff=0 > in the calculation of thp_get_unmapped_area_vmflags(). > > Logically it should even also work for vfio-pci, as long as VFIO keeps > using the lower 40 bits of the device_fd to represent the bar offset, > meanwhile it'll also require PCIe spec asking the PCI bars to be mapped > aligned with bar sizes. > > But from an API POV, get_mapping_order() logically should return something > for further calculation of the alignment to get the VA. pgoff here may not > always be the right thing to use to align to the VA: after all, pgtable > mapping is about VA -> PA, the only reasonable and reliable way is to align > VA to the PA to be mappped, and as an API we shouldn't assume pgoff is > always aligned to PA address space. My feeling, and the reason I used the phrase "pgoff aligned address", is that the owner of the file should already ensure that for the large PTEs/folios: pgoff % 2**order == 0 physical % 2**order == 0 So, things like VFIO do need to hand out high alignment pgoffs to make this work - which it already does. To me this just keeps thing simpler. I guess if someone comes up with a case where they really can't get a pgoff alignment and really need a high order mapping then maybe we can add a new return field of some kind (pgoff adjustment?) but that is so weird I'd leave it to the future person to come and justfiy it. Jason