All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jacob Pan <jacob.pan@linux.microsoft.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: linux-kernel@vger.kernel.org,
	"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
	Alex Williamson <alex@shazbot.org>,
	Joerg Roedel <joro@8bytes.org>,
	David Matlack <dmatlack@google.com>,
	Nicolin Chen <nicolinc@nvidia.com>,
	"Tian, Kevin" <kevin.tian@intel.com>, Yi Liu <yi.l.liu@intel.com>,
	Baolu Lu <baolu.lu@linux.intel.com>,
	skhawaja@google.com, pasha.tatashin@soleen.com,
	Jean Philippe-Brucker <jean-philippe@linaro.org>,
	Robin Murphy <robin.murphy@arm.com>
Subject: Re: [PATCH 00/11] iommufd: Enable noiommu mode for cdev
Date: Tue, 3 Mar 2026 11:13:25 -0800	[thread overview]
Message-ID: <20260303111325.000010a2@linux.microsoft.com> (raw)
In-Reply-To: <20260303003532.GA5933@nvidia.com>

Hi Jason,

On Mon, 2 Mar 2026 20:35:32 -0400
Jason Gunthorpe <jgg@nvidia.com> wrote:

> On Fri, Feb 27, 2026 at 09:52:36AM -0800, Jacob Pan wrote:
> > VFIO's unsafe_noiommu_mode has long provided a way for userspace
> > drivers to operate on platforms lacking a hardware IOMMU. Today,
> > IOMMUFD also supports No-IOMMU mode for group-based devices under
> > vfio_compat mode. However, IOMMUFD's native character device (cdev)
> > does not yet support No-IOMMU mode, which is the purpose of this
> > patch.  
> 
> I browsed through this quickly and it looks OK to me, though I might
> suggest correcting that FIXME so that the get pa scans the domain for
> contiguous physical address. You can copy the loop from vfio probably.
> 
Thanks for the suggestion, I will add the following to v2 and update
selftest with hugepage to cover this.

--- a/drivers/iommu/iommufd/io_pagetable.c
+++ b/drivers/iommu/iommufd/io_pagetable.c
@@ -877,10 +877,19 @@ int iopt_get_phys(struct io_pagetable *iopt,
unsigned long iova, u64 *paddr, goto unlock_exit;
        }
        /*
-        * TBD: we can return contiguous IOVA length so that userspace
can
-        * keep searching for next physical address.
+        * Scan the domain for the contiguous physical address length
so that
+        * userspace search can be optimized for fewer ioctls.
         */
-       *length = PAGE_SIZE;
+       while (iova < iopt_area_last_iova(area)) {
+               u64 next_paddr =
iommu_iova_to_phys(area->storage_domain,
+                                                   iova + PAGE_SIZE);
+               if (!next_paddr || next_paddr != *paddr + PAGE_SIZE) {
+                       *length += PAGE_SIZE;
+                       break;
+               }
+               iova += PAGE_SIZE;
+               *paddr += PAGE_SIZE;
+       }
> Also the kbuild error needs fixing, I gave a suggestion for that in
> the thread.
will fix in v2.

Thanks again,

Jacob

      reply	other threads:[~2026-03-03 19:13 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-27 17:52 [PATCH 00/11] iommufd: Enable noiommu mode for cdev Jacob Pan
2026-02-27 17:52 ` [PATCH 01/11] iommufd: Support a HWPT without an iommu driver for noiommu Jacob Pan
2026-02-27 17:52 ` [PATCH 02/11] iommufd: Move igroup allocation to a function Jacob Pan
2026-02-27 17:52 ` [PATCH 03/11] iommufd: Allow binding to a noiommu device Jacob Pan
2026-02-27 17:52 ` [PATCH 04/11] iommufd: Add an ioctl IOMMU_IOAS_GET_PA to query PA from IOVA Jacob Pan
2026-02-27 17:52 ` [PATCH 05/11] vfio: Allow null group for noiommu without containers Jacob Pan
2026-02-27 17:52 ` [PATCH 06/11] vfio: Introduce and set noiommu flag on vfio_device Jacob Pan
2026-02-27 17:52 ` [PATCH 07/11] vfio: Update noiommu device detection logic for cdev Jacob Pan
2026-02-27 17:52 ` [PATCH 08/11] vfio: Enable cdev noiommu mode under iommufd Jacob Pan
2026-02-27 22:03   ` kernel test robot
2026-02-28  0:18   ` kernel test robot
2026-02-28  0:35     ` Jason Gunthorpe
2026-03-05 23:26       ` Jacob Pan
2026-03-05 23:38         ` Jason Gunthorpe
2026-03-12 16:33           ` Jacob Pan
2026-02-28  0:29   ` kernel test robot
2026-02-27 17:52 ` [PATCH 09/11] vfio:selftest: Handle VFIO noiommu cdev Jacob Pan
2026-02-27 17:52 ` [PATCH 10/11] selftests/vfio: Add iommufd noiommu mode selftest for cdev Jacob Pan
2026-02-27 17:52 ` [PATCH 11/11] Doc: Update VFIO NOIOMMU mode Jacob Pan
2026-03-03  0:35 ` [PATCH 00/11] iommufd: Enable noiommu mode for cdev Jason Gunthorpe
2026-03-03 19:13   ` Jacob Pan [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260303111325.000010a2@linux.microsoft.com \
    --to=jacob.pan@linux.microsoft.com \
    --cc=alex@shazbot.org \
    --cc=baolu.lu@linux.intel.com \
    --cc=dmatlack@google.com \
    --cc=iommu@lists.linux.dev \
    --cc=jean-philippe@linaro.org \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nicolinc@nvidia.com \
    --cc=pasha.tatashin@soleen.com \
    --cc=robin.murphy@arm.com \
    --cc=skhawaja@google.com \
    --cc=yi.l.liu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.