From: Alex Williamson <alex@shazbot.org>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Jacob Pan <jacob.pan@linux.microsoft.com>,
linux-kernel@vger.kernel.org,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
Joerg Roedel <joro@8bytes.org>,
Mostafa Saleh <smostafa@google.com>,
David Matlack <dmatlack@google.com>,
Robin Murphy <robin.murphy@arm.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>,
Saurabh Sengar <ssengar@linux.microsoft.com>,
skhawaja@google.com, pasha.tatashin@soleen.com,
Will Deacon <will@kernel.org>,
alex@shazbot.org
Subject: Re: [PATCH v10 0/6] iommufd: Enable noiommu mode for cdev
Date: Mon, 6 Jul 2026 15:51:24 -0600 [thread overview]
Message-ID: <20260706155124.15b2456c@shazbot.org> (raw)
In-Reply-To: <20260706195403.GE118313@nvidia.com>
On Mon, 6 Jul 2026 16:54:03 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:
> On Mon, Jul 06, 2026 at 11:48:28AM -0700, 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.
> >
> > In summary, we have:
> >
> > |-------------------------+------+---------------|
> > | Device access mode | VFIO | IOMMUFD |
> > |-------------------------+------+---------------|
> > | group /dev/vfio/$GROUP | Yes | Yes |
> > |-------------------------+------+---------------|
> > | cdev /dev/vfio/devices/ | No | This patch |
> > |-------------------------+------+---------------|
> >
> > Beyond enabling cdev for IOMMUFD, this patch also addresses the following
> > deficiencies in the current No-IOMMU mode suggested by Jason[1]:
> > - Devices operating under No-IOMMU mode are limited to device-level UAPI
> > access, without container or IOAS-level capabilities. Consequently,
> > user-space drivers lack structured mechanisms for page pinning and often
> > resort to mlock(), which is less robust than pin_user_pages() used for
> > devices backed by a physical IOMMU. For example, mlock() does not prevent
> > page migration.
> > - There is no architectural mechanism for obtaining physical addresses for
> > DMA. As a workaround, user-space drivers frequently rely on /proc/pagemap
> > tricks or hardcoded values.
> >
> > By allowing noiommu device access to IOMMUFD IOAS and HWPT objects, this
> > patch brings No-IOMMU mode closer to full citizenship within the IOMMU
> > subsystem. In addition to addressing the two deficiencies mentioned above,
> > the expectation is that it will also enable No-IOMMU devices to seamlessly
> > participate in live update sessions via KHO [2].
> >
> > Furthermore, these devices will use the IOMMUFD-based ownership checking model for
> > VFIO_DEVICE_PCI_HOT_RESET, eliminating the need for an iommufd_access object
> > as required in a previous attempt [3].
> >
> > ChangeLog:
> > v10:
> > - Rebased to v7.2-rc2, no intended code change
>
> My impression is we are good on this now, right? I would like to pick
> it up?
There are a couple Sashiko findings. The PAGE_SIZE issue seems like a
false positive. The AMD based page tables necessarily expose 4K, but
pinning is obviously at PAGE_SIZE, so returning multiples of PAGE_SIZE
is arguably correct.
The PASID issue seems more like a uAPI hygiene question, and it might
be the correct answer to return error for values other than
IOMMU_NO_PASID. Your call.
Fine otherwise from a vfio perspective. Thanks,
Alex
prev parent reply other threads:[~2026-07-06 21:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-06 18:48 [PATCH v10 0/6] iommufd: Enable noiommu mode for cdev Jacob Pan
2026-07-06 18:48 ` [PATCH v10 1/6] iommufd: Support a HWPT without an iommu driver for noiommu Jacob Pan
2026-07-06 18:48 ` [PATCH v10 2/6] iommufd: Move igroup allocation to a function Jacob Pan
2026-07-06 18:48 ` [PATCH v10 3/6] iommufd: Allow binding to a noiommu device Jacob Pan
2026-07-06 18:48 ` [PATCH v10 4/6] iommufd: Add an ioctl to query PA from IOVA for noiommu mode Jacob Pan
2026-07-06 18:48 ` [PATCH v10 5/6] vfio: Enable cdev noiommu mode under iommufd Jacob Pan
2026-07-06 18:48 ` [PATCH v10 6/6] Documentation: Update VFIO NOIOMMU mode Jacob Pan
2026-07-06 21:47 ` Alex Williamson
2026-07-06 19:54 ` [PATCH v10 0/6] iommufd: Enable noiommu mode for cdev Jason Gunthorpe
2026-07-06 21:51 ` Alex Williamson [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=20260706155124.15b2456c@shazbot.org \
--to=alex@shazbot.org \
--cc=baolu.lu@linux.intel.com \
--cc=dmatlack@google.com \
--cc=iommu@lists.linux.dev \
--cc=jacob.pan@linux.microsoft.com \
--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=smostafa@google.com \
--cc=ssengar@linux.microsoft.com \
--cc=will@kernel.org \
--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.