All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolin Chen <nicolinc@nvidia.com>
To: Yi Liu <yi.l.liu@intel.com>
Cc: <kevin.tian@intel.com>, <jgg@nvidia.com>, <joro@8bytes.org>,
	<baolu.lu@linux.intel.com>, <iommu@lists.linux.dev>
Subject: Re: [PATCH v11 00/18] iommufd support pasid attach/replace
Date: Fri, 21 Mar 2025 10:30:09 -0700	[thread overview]
Message-ID: <Z92iIdpNz57WDYyS@Asurada-Nvidia> (raw)
In-Reply-To: <20250321171940.7213-1-yi.l.liu@intel.com>

On Fri, Mar 21, 2025 at 10:19:22AM -0700, Yi Liu wrote:
> PASID (Process Address Space ID) is a PCIe extension that tags the DMA
> transactions from a physical device. Most modern IOMMU hardware supports
> PASID-granular address translation. This allows a PASID-capable device
> to be attached to multiple hardware page tables (hwpts, also known as
> domains), with each attachment tagged by a PASID.
> 
> This series builds on previous series [1]. It begins by adding a missing
> IOMMU API to replace the domain for a PASID. Utilizing the IOMMU PASID
> attach/replace/detach APIs, this series introduces iommufd APIs for device
> drivers to attach, replace, or detach PASIDs to/from hwpts at the request
> of userspace. It also enforces PASID compatibility with domain requirements,
> allocates PASID-compatible hwpts in iommufd, and includes self-tests to
> validate the iommufd APIs.
> 
> The complete code is available at the following link [2]. Please note that
> the existing iommufd self-test was broken, and a temporary fix patch is at
> the top of the branch [2]. If you wish to run the iommufd self-test, please
> apply that fix. We apologize for any inconvenience.
> 
> The series is based on Jason's for-next branch.
> 
> https://web.git.kernel.org/pub/scm/linux/kernel/git/jgg/iommufd.git/commit/?h=for-next&id=e009e088d88e8402539f9595b10c0014125a70c1
> 
> [1] https://lore.kernel.org/linux-iommu/20250226011849.5102-1-yi.l.liu@intel.com/
> [2] https://github.com/yiliu1765/iommufd/tree/iommufd_pasid
> [3] https://lore.kernel.org/linux-iommu/20250306034842.5950-1-yi.l.liu@intel.com/
> 
> Change log:
> 
> v11:
>  - Handle is always valid for the replace API, hence drop some meaningless check (Nic/Baolu)
>  - Avoid inline helpers in .c file patch 02 an 06 of v10 (Baolu)
>  - Use xa_load() instead of xa_cmpxch() in iommufd_device_do_replace() (Jason/Nic)
>  - Fix a memleak in patch 11 0f v10, it's due to an order broken (Nic/Jason)
>  - Make the auto_hwpts always be non-pasid-compat to avoid confusion between
>    the RID and PASID path
>  - Add pasid-num-bit as 0 for non-pasid-capable mock device (Nic)
>  - Misc tweaks to the patch 17 and 18 (Nic)
>  - More r-b tags

I am running some sanity with this v11 using the iommufd_pasid
branch, and will give Tested-by in the next a couple of hours
so long as everything works fine.

I sent a couple of replies today but I think they are trivial
and can be cleaned up later if we really want to.

Thanks
Nicolin

  parent reply	other threads:[~2025-03-21 17:30 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-21 17:19 [PATCH v11 00/18] iommufd support pasid attach/replace Yi Liu
2025-03-21 17:19 ` [PATCH v11 01/18] iommu: Require passing new handles to APIs supporting handle Yi Liu
2025-03-21 17:19 ` [PATCH v11 02/18] iommu: Introduce a replace API for device pasid Yi Liu
2025-03-21 17:19 ` [PATCH v11 03/18] iommufd: Pass @pasid through the device attach/replace path Yi Liu
2025-03-21 17:19 ` [PATCH v11 04/18] iommufd/device: Only add reserved_iova in non-pasid path Yi Liu
2025-03-21 17:19 ` [PATCH v11 05/18] iommufd/device: Replace idev->igroup with local variable Yi Liu
2025-03-21 17:19 ` [PATCH v11 06/18] iommufd/device: Add helper to detect the first attach of a group Yi Liu
2025-03-21 17:19 ` [PATCH v11 07/18] iommufd/device: Wrap igroup->hwpt and igroup->device_list into attach struct Yi Liu
2025-03-21 17:19 ` [PATCH v11 08/18] iommufd/device: Replace device_list with device_array Yi Liu
2025-03-21 17:19 ` [PATCH v11 09/18] iommufd/device: Add pasid_attach array to track per-PASID attach Yi Liu
2025-03-21 17:19 ` [PATCH v11 10/18] iommufd: Enforce PASID-compatible domain in PASID path Yi Liu
2025-03-21 17:19 ` [PATCH v11 11/18] iommufd: Support pasid attach/replace Yi Liu
2025-03-21 17:19 ` [PATCH v11 12/18] iommufd: Enforce PASID-compatible domain for RID Yi Liu
2025-03-21 17:19 ` [PATCH v11 13/18] iommu/vt-d: Add IOMMU_HWPT_ALLOC_PASID support Yi Liu
2025-03-21 17:19 ` [PATCH v11 14/18] iommufd: Allow allocating PASID-compatible domain Yi Liu
2025-03-21 17:19 ` [PATCH v11 15/18] iommufd/selftest: Add set_dev_pasid in mock iommu Yi Liu
2025-03-21 17:19 ` [PATCH v11 16/18] iommufd/selftest: Add a helper to get test device Yi Liu
2025-03-21 17:19 ` [PATCH v11 17/18] iommufd/selftest: Add test ops to test pasid attach/detach Yi Liu
2025-03-28  1:00   ` Lai, Yi
2025-03-28  7:47     ` Yi Liu
2025-03-21 17:19 ` [PATCH v11 18/18] iommufd/selftest: Add coverage for iommufd " Yi Liu
2025-03-21 17:30 ` Nicolin Chen [this message]
2025-03-21 19:24   ` [PATCH v11 00/18] iommufd support pasid attach/replace Nicolin Chen
2025-03-25 13:24 ` Jason Gunthorpe

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=Z92iIdpNz57WDYyS@Asurada-Nvidia \
    --to=nicolinc@nvidia.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.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.