All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@nvidia.com>
To: Yi Liu <yi.l.liu@intel.com>
Cc: kevin.tian@intel.com, joro@8bytes.org, baolu.lu@linux.intel.com,
	iommu@lists.linux.dev, nicolinc@nvidia.com
Subject: Re: [PATCH v9 11/21] iommufd/device: Move attached device tracking to handle
Date: Tue, 18 Mar 2025 10:56:09 -0300	[thread overview]
Message-ID: <20250318135609.GU9311@nvidia.com> (raw)
In-Reply-To: <86c4cba9-5e50-4886-8253-0829e7620a85@intel.com>

On Tue, Mar 18, 2025 at 09:50:12PM +0800, Yi Liu wrote:
> On 2025/3/18 21:26, Jason Gunthorpe wrote:
> > On Tue, Mar 18, 2025 at 09:25:56PM +0800, Yi Liu wrote:
> > > >     	struct iommufd_attach_handle *handle;
> > > > 	struct xarray device_array;
> > > > };
> > > > 
> > > > ?
> > > > 
> > > > I think I'd just accept the additional allocation and not try to make
> > > > handle re-usable. Every unique attach gets a unique handle allocation.
> > > 
> > > If so, we also need to loop the device_array and add the attached devices
> > > to the new device_array of the new handle.
> > 
> > Why? Just don't use the handle for that, as above, the handle is still
> > a pointer that you allocate, and this pasid_enty is another pointer
> > that is allocated once.
> 
> I see. How about making a new structure dedicate for tracking attached hwpt
> and device_array? Like the below. Reusing iommufd_attach_handle structure
> is not mandatory.
> 
> struct iommufd_attach {
>  	struct iommufd_hw_pagetable *hwpt;
> 	struct xarray device_array;
> };

Yeah, something like that would make sense. Then the handle is
allocated uniquely for every attach.

I'd also add info to the kdoc's that handle should not be reused as
part of the API requirement.

Jason

  reply	other threads:[~2025-03-18 13:56 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-13 12:35 [PATCH v9 00/21] iommufd support pasid attach/replace Yi Liu
2025-03-13 12:35 ` [PATCH v9 01/21] iommu: Clear handle->domain in detach Yi Liu
2025-03-18 11:46   ` Jason Gunthorpe
2025-03-18 13:30     ` Yi Liu
2025-03-13 12:35 ` [PATCH v9 02/21] iommu: Wrap pasid_array entry creation and setting Yi Liu
2025-03-18 12:04   ` Jason Gunthorpe
2025-03-18 14:40     ` Yi Liu
2025-03-13 12:35 ` [PATCH v9 03/21] iommu: Introduce a replace API for device pasid Yi Liu
2025-03-18 12:19   ` Jason Gunthorpe
2025-03-18 13:50     ` Baolu Lu
2025-03-18 13:57       ` Jason Gunthorpe
2025-03-13 12:35 ` [PATCH v9 04/21] iommufd: Pass @pasid through the device attach/replace path Yi Liu
2025-03-13 12:35 ` [PATCH v9 05/21] iommufd/device: Only add reserved_iova in non-pasid path Yi Liu
2025-03-18 19:22   ` Nicolin Chen
2025-03-13 12:35 ` [PATCH v9 06/21] iommufd/device: Replace idev->igroup with local variable Yi Liu
2025-03-18 12:25   ` Jason Gunthorpe
2025-03-18 19:24   ` Nicolin Chen
2025-03-13 12:35 ` [PATCH v9 07/21] iommufd/device: Check !igroup->hwpt in iommufd_device_attach_reserved_iova() Yi Liu
2025-03-18 12:27   ` Jason Gunthorpe
2025-03-13 12:35 ` [PATCH v9 08/21] iommufd/device: Lift iommufd_attach_handle handling to upper level helpers Yi Liu
2025-03-18 12:30   ` Jason Gunthorpe
2025-03-13 12:35 ` [PATCH v9 09/21] iommufd/device: Use iommufd_attach_handle track attachment Yi Liu
2025-03-13 12:35 ` [PATCH v9 10/21] iommufd/device: Replace device_list with device_array Yi Liu
2025-03-13 12:35 ` [PATCH v9 11/21] iommufd/device: Move attached device tracking to handle Yi Liu
2025-03-18 12:34   ` Jason Gunthorpe
2025-03-18 13:25     ` Yi Liu
2025-03-18 13:26       ` Jason Gunthorpe
2025-03-18 13:50         ` Yi Liu
2025-03-18 13:56           ` Jason Gunthorpe [this message]
2025-03-18 14:13             ` Yi Liu
2025-03-18 14:32               ` Jason Gunthorpe
2025-03-13 12:35 ` [PATCH v9 12/21] iommufd/device: Add pasid_attach array to track per-PASID attach Yi Liu
2025-03-17  7:07   ` Yi Liu
2025-03-13 12:35 ` [PATCH v9 13/21] iommufd: Enforce PASID-compatible domain in PASID path Yi Liu
2025-03-13 12:35 ` [PATCH v9 14/21] iommufd: Support pasid attach/replace Yi Liu
2025-03-18 12:35   ` Jason Gunthorpe
2025-03-13 12:35 ` [PATCH v9 15/21] iommufd: Enforce PASID-compatible domain for RID Yi Liu
2025-03-18 12:38   ` Jason Gunthorpe
2025-03-18 14:09     ` Yi Liu
2025-03-13 12:35 ` [PATCH v9 16/21] iommu/vt-d: Add IOMMU_HWPT_ALLOC_PASID support Yi Liu
2025-03-13 12:35 ` [PATCH v9 17/21] iommufd: Allow allocating PASID-compatible domain Yi Liu
2025-03-18 12:39   ` Jason Gunthorpe
2025-03-13 12:35 ` [PATCH v9 18/21] iommufd/selftest: Add set_dev_pasid in mock iommu Yi Liu
2025-03-13 12:35 ` [PATCH v9 19/21] iommufd/selftest: Add a helper to get test device Yi Liu
2025-03-13 12:35 ` [PATCH v9 20/21] iommufd/selftest: Add test ops to test pasid attach/detach Yi Liu
2025-03-13 12:35 ` [PATCH v9 21/21] iommufd/selftest: Add coverage for iommufd " Yi Liu
2025-03-18 12:41 ` [PATCH v9 00/21] iommufd support pasid attach/replace Jason Gunthorpe
2025-03-18 14:37   ` Yi Liu

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