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 93A6AC77B7C for ; Tue, 24 Jun 2025 20:37:40 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A7C8F6B00A7; Tue, 24 Jun 2025 16:37:39 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A540D6B00AC; Tue, 24 Jun 2025 16:37:39 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 990E96B00AD; Tue, 24 Jun 2025 16:37:39 -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 899276B00A7 for ; Tue, 24 Jun 2025 16:37:39 -0400 (EDT) Received: from smtpin22.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay06.hostedemail.com (Postfix) with ESMTP id B85B8105B2F for ; Tue, 24 Jun 2025 20:37:38 +0000 (UTC) X-FDA: 83591454996.22.B07F6CC Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by imf24.hostedemail.com (Postfix) with ESMTP id 74A60180011 for ; Tue, 24 Jun 2025 20:37:36 +0000 (UTC) Authentication-Results: imf24.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=IKQrrW2p; spf=pass (imf24.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1750797456; a=rsa-sha256; cv=none; b=1MesC2tDeOAUoHD2yEmgHfckkojF+KveeJYDMD8rLxkaxdyqabg1AT05SYpZQlszFvg6hn ActPAe/ED0aYB8GvBWAFzOza1m1VG5yhgq9Eq2StY1lOrsL/87IqaG134dEkefVvhOe1/R gs0YTYDsMrr+5uJAlm59+SeWSQdv/h8= ARC-Authentication-Results: i=1; imf24.hostedemail.com; dkim=pass header.d=redhat.com header.s=mimecast20190719 header.b=IKQrrW2p; spf=pass (imf24.hostedemail.com: domain of peterx@redhat.com designates 170.10.133.124 as permitted sender) smtp.mailfrom=peterx@redhat.com; dmarc=pass (policy=quarantine) header.from=redhat.com ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1750797456; 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=6yxMqBKwP1JxoQEpLOHCxLcmo0QA6v2itUNxKEqsozo=; b=x1L/1otKwHsYH0oB48EsxiNzOliWOmuEWDOqqEiIZCb9JFeJ5pWH7bwCua5IPMH6HSwMox OGASZ1XpkmL9zKgpmzbttJxP87k/AIjtHevceHf0Lczz5kcrBPsjlJBEiUDonJBex2KHqW qBh6zZT/NvpWNLHDu8MaUdHKGzGit/A= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1750797455; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=6yxMqBKwP1JxoQEpLOHCxLcmo0QA6v2itUNxKEqsozo=; b=IKQrrW2pJRCgOxIaKacqBoG4OQA9lO6bunh6HHJXlHujZiBAOR7ZJCcxndjQr8ScI6C/QK Oy4M24nePsScp1XiOqIQfzw2EPWN/lLg5qyEcHasitlyzRevRvDxTVTZ2fXaJ4bhgugWfA akunKZzbfVCRh27QkZQhtw0PFro/ReQ= Received: from mail-qk1-f198.google.com (mail-qk1-f198.google.com [209.85.222.198]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-478-IXy00u2xN6yL6pO_L3-17g-1; Tue, 24 Jun 2025 16:37:32 -0400 X-MC-Unique: IXy00u2xN6yL6pO_L3-17g-1 X-Mimecast-MFC-AGG-ID: IXy00u2xN6yL6pO_L3-17g_1750797452 Received: by mail-qk1-f198.google.com with SMTP id af79cd13be357-7c5bb68b386so157934185a.3 for ; Tue, 24 Jun 2025 13:37:32 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1750797451; x=1751402251; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=6yxMqBKwP1JxoQEpLOHCxLcmo0QA6v2itUNxKEqsozo=; b=MM9VmvxeDY83cNXkw9Fm+q8yFydunoaolXVHgOU/6xZvye1e8AICbcJYbc8tb1oYPb XQO1fcZ0UIiDXsyNa/R2LthrRUY5iX9UCqEP9MpAZtr6cpDHo9XJns3Qu5ResGzkOC0e FoMQ4nHtSzQPCg31B4nCi97skyor049GTsD5m16U3aXEdUGGvDEDzCGlheGH+kaszDpT QZG1pmz/OJs9AbjU2toqnv6i8Elpw3k+0cWqqEGoEDrQmik1I50aedOqOJgsIuxlnoSM DUHMxhNDz2xmZb2IsCmNxwfLkFi2JIvdD0QdNTl/7Dag+xW357YbJEfdm2G4A1QvY+iO jIYw== X-Forwarded-Encrypted: i=1; AJvYcCX7NJOlQxZcD1LHG7+SIBAJULmfz9Rshu9v3bpHU9DeA0/rT7Kk4s4RHW1BW5vFQ8eBhBuKpr+z5A==@kvack.org X-Gm-Message-State: AOJu0YwQGsjzuIC0qJwnERpuneWZnx4PGHZUPW6Hddaz3dR7sb7swBbI otbzogS35I2pb9RPbqfu9ITrodPTFcb6zpOeh9I/rB5JNMqZEqcGlPVA6dEbDqiUgT7BHfhsCrf vvLzvQKEoLrisazqWEo7qMXvMkEwzPQJu4/QvXXD9xZMycPwELZtc X-Gm-Gg: ASbGncu8apdkz+pwTWfcKXtkrXLTNYvMpNdW/BTzY2poc0MLaxFfu1jICT52RFfM7mE wjikVs1rNVvz7rJghU6OxTyt6SKUgoyym7kbIdWbiR6cAzWHRA/vIrbkCh4aSHir0H+e27BIP+F LCtlyiFkxobQwHeolBAHqBNylnu4fLTq/0zBJqRI/nJyfJWUy7vY84eweZdf4h/T1FisajDRRLw RI251hBPGi09619PAKZaQ2mAZtY16ODdVnBK6je8q9vXci6QvzJG50Q8wPCCBxcOKWACOMSJUMu y0Kn3b+xkz8Kxw== X-Received: by 2002:a05:620a:4245:b0:7d4:2868:89ea with SMTP id af79cd13be357-7d4296ca006mr71567785a.4.1750797451600; Tue, 24 Jun 2025 13:37:31 -0700 (PDT) X-Google-Smtp-Source: AGHT+IFJhrZbzSf4nFQrc7HvgOH4lF63QunCi8blfM0+NnlfUmmge32P6rWG9OyIu4U5ZJRiNzQrZw== X-Received: by 2002:a05:620a:4245:b0:7d4:2868:89ea with SMTP id af79cd13be357-7d4296ca006mr71563085a.4.1750797451009; Tue, 24 Jun 2025 13:37:31 -0700 (PDT) Received: from x1.local ([85.131.185.92]) by smtp.gmail.com with ESMTPSA id 6a1803df08f44-6fd09576766sm60648376d6.81.2025.06.24.13.37.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 24 Jun 2025 13:37:30 -0700 (PDT) Date: Tue, 24 Jun 2025 16:37:26 -0400 From: Peter Xu To: Jason Gunthorpe 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: References: <20250616230011.GS1174925@nvidia.com> <20250617231807.GD1575786@nvidia.com> <20250618174641.GB1629589@nvidia.com> <20250619135852.GC1643312@nvidia.com> <20250619184041.GA10191@nvidia.com> MIME-Version: 1.0 In-Reply-To: <20250619184041.GA10191@nvidia.com> X-Mimecast-Spam-Score: 0 X-Mimecast-MFC-PROC-ID: GaTYbyFocn2A5IVF--HDuiElKUQBexu7s0oVuwL0ZzM_1750797452 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset=utf-8 Content-Disposition: inline X-Stat-Signature: 9siikm58jaxfb6apha4dywydkx7emdfz X-Rspamd-Server: rspam05 X-Rspamd-Queue-Id: 74A60180011 X-Rspam-User: X-HE-Tag: 1750797456-448716 X-HE-Meta: U2FsdGVkX19Hc18GljTOovv0/70bcXbCFQyAhSiBJka0yz7uS9cQ3zdGdJit5jjRh7UX0Yg+FLpsoWwaUe5FQbM6Ud7BIiB1Ts5kknHVPke8PGyF+dhoUQqLARAb0UCJY+tMGQy9BRbe6w5G4RQAWlYRbpIw69ny6H96MQ7skLoDcnKF4IMMjXww7VXe5OW42e0W/4bGQJ6g5GTes3o1ckIRXaOof8H0/T0zCfcNFxSGPofbN7VfEGGCA0oxyJS4bbuDFqX3KUjZyRaFUwEF8+pI4NeXLP2UrS1SdVB6wmYVO1KFNQt0wH9hwZ/XT1CukW5yL4bLEj9F3AhgQ+/lZswS//1/+vyeGRlzCQh3g1QRWKSBu4bJwVLgdn2Nf/jimsCSAm9PO1fTtcN2nTsK9gPgZrDzQ0U8n27AHa/PpnKbyIbjmvSZ5kD/em6ufAqLToxXvd8xYxH1iXfWiXqT90VICzTMQmbWhWFqP026YOw5U1yRznMsYvWdm65Tg2I7E7AXpsrsXHeHUCgaa9EHUZZtNPoIlRUpZw9f6nuf13NSSarCGV1miz/DurjnBpIsn/OCpZqT9ApS5nDvfL39Bs+YqhU1hkiNAHhVwJ/fi8hloelDSgwBBCVvKQjgMQLrl6nZ8TYLJ8+bGO3L5zdNJ8rrtwSYDSY7bbIdlfKLiYO5jLAXGqMCiBYvmaQ+n08HJfbuurDkg3l7HoJCWAmHRH1z7BTIITGry0YZ/V4d48zPMdtlstLDy3nn8aZq0swNJziuEh5I/y72k1afCQIduz1Cx68hXkrmvvt0V1MAnQi5UCEP4f8LtdYBljdSofa9Z/DuFdSF6xhMfLb6PB7XGzvRlMUs9oLU0FEcvCY6UYGhvp+Ts6sh8GDzA+XL/W7vmk4htb8+XdnBwkpMIr02/SUfms93LkiSYSSA1E1uOqBW0ph5L94LDl1oUFwrWiXzesluuQ3YrWBB594bt9e vWahrxnz wzCT/hAMNf3aKSo0IYEf4OVczdnYKwcdH+KB8FEUIxmuwfgpBgxfuwCtr9GM6PU1Q+LQRhXAEP2TeYUSNuZ7Ldo8Z5iO2N5th6+SSogr3BmbAQmUX5Wfyfi6j29IjOHmQlg4p8Rm3AwZTsFb6pWcb0PEonJOX2rvmxCsGIY39JXjiNZBBUnVGFArTVPZAgoOC/GxmTVEECpOKxdjPNLA7VsOmlbLSWAmTpeCTVbI8Dc6wUj3QSI1C+8DX9MQL46SplmcMVAMzTQZ6c3pwGpXqixPiS9aUPGfjidN5OdkYgIxak27h51Ww5uWEBel2P8zd1SE1+17W2UakAQ3GjH0mHJdapy1AITAZV4qu2ji82eehrVGONa48UPQZUSS5UPoDC180qwpCJVzSo1SIZwW/lxzgIDniOZT8nm1jDS2boe0MlsTsLWIN0eOdnEC2AKL5bDIKDaWrrIMHJfhQ+2GmumRwNj5BHz1myUphSUYkX1CpsZBL/hODk6MRKFL6f1m+zXRSwp3bMnjHK57nBoFyVg8JEV7rE9eNPq9iXQxbjiL3JPc= 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 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. Any thoughts? -- Peter Xu