All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nicolin Chen <nicolinc@nvidia.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: <will@kernel.org>, <robin.murphy@arm.com>, <kevin.tian@intel.com>,
	<suravee.suthikulpanit@amd.com>, <joro@8bytes.org>,
	<linux-kernel@vger.kernel.org>, <iommu@lists.linux.dev>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-tegra@vger.kernel.org>, <yi.l.liu@intel.com>,
	<eric.auger@redhat.com>, <vasant.hegde@amd.com>,
	<jon.grimm@amd.com>, <santosh.shukla@amd.com>,
	<Dhaval.Giani@amd.com>, <shameerali.kolothum.thodi@huawei.com>
Subject: Re: [PATCH RFCv1 05/14] iommufd: Add IOMMUFD_OBJ_VIOMMU and IOMMUFD_CMD_VIOMMU_ALLOC
Date: Sun, 12 May 2024 21:33:59 -0700	[thread overview]
Message-ID: <ZkGYN36N7sh2vUmv@nvidia.com> (raw)
In-Reply-To: <ZkDR4Rp57cy9qSqP@nvidia.com>

On Sun, May 12, 2024 at 11:27:45AM -0300, Jason Gunthorpe wrote:
> On Fri, Apr 12, 2024 at 08:47:02PM -0700, Nicolin Chen wrote:
> > +	viommu = iommu_dev->ops->viommu_alloc(idev->dev, cmd->type,
> > +					      hwpt_paging->common.domain);
> > +	if (IS_ERR(viommu)) {
> > +		rc = PTR_ERR(viommu);
> > +		goto out_put_hwpt;
> > +	}
> 
> Ah you did already include the S2, So should it be
> domain->viommu_alloc() then?

We can do that. In that case, the VIOMMU_ALLOC ioctl should be
simply per S2 HWPT too v.s. per IDEV.

> > +
> > +	/* iommufd_object_finalize will store the viommu->obj.id */
> > +	rc = xa_alloc(&ucmd->ictx->objects, &viommu->obj.id, XA_ZERO_ENTRY,
> > +		      xa_limit_31b, GFP_KERNEL_ACCOUNT);
> > +	if (rc)
> > +		goto out_free;
> > +
> > +	viommu->obj.type = IOMMUFD_OBJ_VIOMMU;
> 
> See my other notes, lets try not to open code this.

Ack.

> > +	viommu->type = cmd->type;
> > +
> > +	viommu->ictx = ucmd->ictx;
> > +	viommu->hwpt = hwpt_paging;
> > +	viommu->iommu_dev = idev->dev->iommu->iommu_dev;
> > +	cmd->out_viommu_id = viommu->obj.id;
> > +	rc = iommufd_ucmd_respond(ucmd, sizeof(*cmd));
> > +	if (rc)
> > +		goto out_erase_xa;
> > +	iommufd_object_finalize(ucmd->ictx, &viommu->obj);
> > +	refcount_inc(&viommu->hwpt->common.obj.users);
> > +	goto out_put_hwpt;
> > +
> > +out_erase_xa:
> > +	xa_erase(&ucmd->ictx->objects, viommu->obj.id);
> > +out_free:
> > +	if (viommu->ops && viommu->ops->free)
> > +		viommu->ops->free(viommu);
> > +	kfree(viommu);
> 
> This really should use the abort flow. The driver free callback has to
> be in the object release..

Yea, with the original object allocator, we probably can do abort().

> > +
> > +/**
> > + * enum iommu_viommu_type - VIOMMU Type
> > + * @IOMMU_VIOMMU_TEGRA241_CMDQV: NVIDIA Tegra241 CMDQV Extension for SMMUv3
> > + */
> > +enum iommu_viommu_type {
> > +	IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV,
> > +};
> 
> At least the 241 line should be in a following patch

It's for the "enum iommu_viommu_type" mentioned in the following
structure. Yi told me that you don't like an empty enum, and he
did something like this in HWPT_INVALIDATE series:
https://lore.kernel.org/linux-iommu/20240111041015.47920-3-yi.l.liu@intel.com/

> > +/**
> > + * struct iommu_viommu_alloc - ioctl(IOMMU_VIOMMU_ALLOC)
> > + * @size: sizeof(struct iommu_viommu_alloc)
> > + * @flags: Must be 0
> > + * @type: Type of the VIOMMU object. Must be defined in enum iommu_viommu_type
> > + * @dev_id: The device to allocate this virtual IOMMU for
> > + * @hwpt_id: ID of a nested parent HWPT
> > + * @out_viommu_id: Output virtual IOMMU ID for the allocated object
> > + *
> > + * Allocate an virtual IOMMU object that holds a (shared) nested parent HWPT
> > + */
> > +struct iommu_viommu_alloc {
> > +	__u32 size;
> > +	__u32 flags;
> > +	__u32 type;
> > +	__u32 dev_id;
> > +	__u32 hwpt_id;
> > +	__u32 out_viommu_id;
> > +};
> 
> This seems fine.
> 
> Let's have a following patch to change the hwpt_alloc to accept the
> viommu as a hwpt as a uAPI change as well. 
> 
> The more I think about how this needs to work the more sure I am that
> we need to do that.
> 
> ARM will need a fairly tricky set of things to manage the VMID
> lifecycle. In BTM mode the VMID must come from the KVM. For vcmdq the
> VMID is needed to create the queue/viommu. For AMD the S2 is needed to
> create the VIOMMU in the first place.
> 
> So, to make this all work perfectly we need approx the following
>  - S2 sharing across instances in ARM - meaning the VMID is allocated
>    at attach not domain alloc
>  - S2 hwpt is refcounted by the VIOMMU in the iommufd layer
>  - VIOMMU is refcounted by every nesting child in the iommufd layer
>  - The nesting child holds a pointer to both the S2 and the VIOMMU
>    (viommu optional)
>  - When the nesting child attaches to a device the STE will source the
>    VMID from the VIOMMU if present otherwise from the S2
>  - "RID" attach (ie naked S2) will have to be done with a Nesting
>    Child using a vSTE that indicates Identity. Then the attach logic
>    will have enough information to get the VMID from the VIOMMU

What is this RID attach (naked S2) case? S1DSS_BYPASS + SVA?

>  - In full VIOMMU mode the S2 will never get a VMID of its own, it
>    will always use the VIOMMU. Life cycle is simple, the VMID is freed
>    when the VIOMMU is freed. That can't happen until all Nesting
>    Children are freed. That can't happen until all Nesting Children
>    are detached from devices. Detatching removes the HW touch of the VMID.

So, each VM will have one S2 HWPT/domain/iopt, but each VM can
have multiple VIOMMU instances sharing that single S2 HWPT, and
each VIOMMU instance (in the SMMU driver at least) holds a vmid.

This seems to be a quite clear big picture now!

> At this point you don't need the full generality, but let's please get
> ready and get the viommu pointer available in all the right spots and
> we can keep the current logic to borrow the VMID from the S2 for the
> VIOMMU.

Yea. Will try as much as I can.

Thanks
Nicolin

WARNING: multiple messages have this Message-ID (diff)
From: Nicolin Chen <nicolinc@nvidia.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: <will@kernel.org>, <robin.murphy@arm.com>, <kevin.tian@intel.com>,
	<suravee.suthikulpanit@amd.com>, <joro@8bytes.org>,
	<linux-kernel@vger.kernel.org>, <iommu@lists.linux.dev>,
	<linux-arm-kernel@lists.infradead.org>,
	<linux-tegra@vger.kernel.org>, <yi.l.liu@intel.com>,
	<eric.auger@redhat.com>, <vasant.hegde@amd.com>,
	<jon.grimm@amd.com>, <santosh.shukla@amd.com>,
	<Dhaval.Giani@amd.com>, <shameerali.kolothum.thodi@huawei.com>
Subject: Re: [PATCH RFCv1 05/14] iommufd: Add IOMMUFD_OBJ_VIOMMU and IOMMUFD_CMD_VIOMMU_ALLOC
Date: Sun, 12 May 2024 21:33:59 -0700	[thread overview]
Message-ID: <ZkGYN36N7sh2vUmv@nvidia.com> (raw)
In-Reply-To: <ZkDR4Rp57cy9qSqP@nvidia.com>

On Sun, May 12, 2024 at 11:27:45AM -0300, Jason Gunthorpe wrote:
> On Fri, Apr 12, 2024 at 08:47:02PM -0700, Nicolin Chen wrote:
> > +	viommu = iommu_dev->ops->viommu_alloc(idev->dev, cmd->type,
> > +					      hwpt_paging->common.domain);
> > +	if (IS_ERR(viommu)) {
> > +		rc = PTR_ERR(viommu);
> > +		goto out_put_hwpt;
> > +	}
> 
> Ah you did already include the S2, So should it be
> domain->viommu_alloc() then?

We can do that. In that case, the VIOMMU_ALLOC ioctl should be
simply per S2 HWPT too v.s. per IDEV.

> > +
> > +	/* iommufd_object_finalize will store the viommu->obj.id */
> > +	rc = xa_alloc(&ucmd->ictx->objects, &viommu->obj.id, XA_ZERO_ENTRY,
> > +		      xa_limit_31b, GFP_KERNEL_ACCOUNT);
> > +	if (rc)
> > +		goto out_free;
> > +
> > +	viommu->obj.type = IOMMUFD_OBJ_VIOMMU;
> 
> See my other notes, lets try not to open code this.

Ack.

> > +	viommu->type = cmd->type;
> > +
> > +	viommu->ictx = ucmd->ictx;
> > +	viommu->hwpt = hwpt_paging;
> > +	viommu->iommu_dev = idev->dev->iommu->iommu_dev;
> > +	cmd->out_viommu_id = viommu->obj.id;
> > +	rc = iommufd_ucmd_respond(ucmd, sizeof(*cmd));
> > +	if (rc)
> > +		goto out_erase_xa;
> > +	iommufd_object_finalize(ucmd->ictx, &viommu->obj);
> > +	refcount_inc(&viommu->hwpt->common.obj.users);
> > +	goto out_put_hwpt;
> > +
> > +out_erase_xa:
> > +	xa_erase(&ucmd->ictx->objects, viommu->obj.id);
> > +out_free:
> > +	if (viommu->ops && viommu->ops->free)
> > +		viommu->ops->free(viommu);
> > +	kfree(viommu);
> 
> This really should use the abort flow. The driver free callback has to
> be in the object release..

Yea, with the original object allocator, we probably can do abort().

> > +
> > +/**
> > + * enum iommu_viommu_type - VIOMMU Type
> > + * @IOMMU_VIOMMU_TEGRA241_CMDQV: NVIDIA Tegra241 CMDQV Extension for SMMUv3
> > + */
> > +enum iommu_viommu_type {
> > +	IOMMU_VIOMMU_TYPE_TEGRA241_CMDQV,
> > +};
> 
> At least the 241 line should be in a following patch

It's for the "enum iommu_viommu_type" mentioned in the following
structure. Yi told me that you don't like an empty enum, and he
did something like this in HWPT_INVALIDATE series:
https://lore.kernel.org/linux-iommu/20240111041015.47920-3-yi.l.liu@intel.com/

> > +/**
> > + * struct iommu_viommu_alloc - ioctl(IOMMU_VIOMMU_ALLOC)
> > + * @size: sizeof(struct iommu_viommu_alloc)
> > + * @flags: Must be 0
> > + * @type: Type of the VIOMMU object. Must be defined in enum iommu_viommu_type
> > + * @dev_id: The device to allocate this virtual IOMMU for
> > + * @hwpt_id: ID of a nested parent HWPT
> > + * @out_viommu_id: Output virtual IOMMU ID for the allocated object
> > + *
> > + * Allocate an virtual IOMMU object that holds a (shared) nested parent HWPT
> > + */
> > +struct iommu_viommu_alloc {
> > +	__u32 size;
> > +	__u32 flags;
> > +	__u32 type;
> > +	__u32 dev_id;
> > +	__u32 hwpt_id;
> > +	__u32 out_viommu_id;
> > +};
> 
> This seems fine.
> 
> Let's have a following patch to change the hwpt_alloc to accept the
> viommu as a hwpt as a uAPI change as well. 
> 
> The more I think about how this needs to work the more sure I am that
> we need to do that.
> 
> ARM will need a fairly tricky set of things to manage the VMID
> lifecycle. In BTM mode the VMID must come from the KVM. For vcmdq the
> VMID is needed to create the queue/viommu. For AMD the S2 is needed to
> create the VIOMMU in the first place.
> 
> So, to make this all work perfectly we need approx the following
>  - S2 sharing across instances in ARM - meaning the VMID is allocated
>    at attach not domain alloc
>  - S2 hwpt is refcounted by the VIOMMU in the iommufd layer
>  - VIOMMU is refcounted by every nesting child in the iommufd layer
>  - The nesting child holds a pointer to both the S2 and the VIOMMU
>    (viommu optional)
>  - When the nesting child attaches to a device the STE will source the
>    VMID from the VIOMMU if present otherwise from the S2
>  - "RID" attach (ie naked S2) will have to be done with a Nesting
>    Child using a vSTE that indicates Identity. Then the attach logic
>    will have enough information to get the VMID from the VIOMMU

What is this RID attach (naked S2) case? S1DSS_BYPASS + SVA?

>  - In full VIOMMU mode the S2 will never get a VMID of its own, it
>    will always use the VIOMMU. Life cycle is simple, the VMID is freed
>    when the VIOMMU is freed. That can't happen until all Nesting
>    Children are freed. That can't happen until all Nesting Children
>    are detached from devices. Detatching removes the HW touch of the VMID.

So, each VM will have one S2 HWPT/domain/iopt, but each VM can
have multiple VIOMMU instances sharing that single S2 HWPT, and
each VIOMMU instance (in the SMMU driver at least) holds a vmid.

This seems to be a quite clear big picture now!

> At this point you don't need the full generality, but let's please get
> ready and get the viommu pointer available in all the right spots and
> we can keep the current logic to borrow the VMID from the S2 for the
> VIOMMU.

Yea. Will try as much as I can.

Thanks
Nicolin

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2024-05-13  4:34 UTC|newest]

Thread overview: 235+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-04-13  3:46 [PATCH RFCv1 00/14] Add Tegra241 (Grace) CMDQV Support (part 2/2) Nicolin Chen
2024-04-13  3:46 ` Nicolin Chen
2024-04-13  3:46 ` [PATCH RFCv1 01/14] iommufd: Move iommufd_object to public iommufd header Nicolin Chen
2024-04-13  3:46   ` Nicolin Chen
2024-05-12 13:21   ` Jason Gunthorpe
2024-05-12 13:21     ` Jason Gunthorpe
2024-05-12 22:40     ` Nicolin Chen
2024-05-12 22:40       ` Nicolin Chen
2024-05-13 22:30       ` Jason Gunthorpe
2024-05-13 22:30         ` Jason Gunthorpe
2024-04-13  3:46 ` [PATCH RFCv1 02/14] iommufd: Swap _iommufd_object_alloc and __iommufd_object_alloc Nicolin Chen
2024-04-13  3:46   ` Nicolin Chen
2024-05-12 13:26   ` Jason Gunthorpe
2024-05-12 13:26     ` Jason Gunthorpe
2024-05-13  2:29     ` Nicolin Chen
2024-05-13  2:29       ` Nicolin Chen
2024-05-13  3:44       ` Nicolin Chen
2024-05-13  3:44         ` Nicolin Chen
2024-05-13 22:30       ` Jason Gunthorpe
2024-05-13 22:30         ` Jason Gunthorpe
2024-04-13  3:47 ` [PATCH RFCv1 03/14] iommufd: Prepare for viommu structures and functions Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 13:42   ` Jason Gunthorpe
2024-05-12 13:42     ` Jason Gunthorpe
2024-05-13  2:35     ` Nicolin Chen
2024-05-13  2:35       ` Nicolin Chen
2024-04-13  3:47 ` [PATCH RFCv1 04/14] iommufd: Add struct iommufd_viommu and iommufd_viommu_ops Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 14:03   ` Jason Gunthorpe
2024-05-12 14:03     ` Jason Gunthorpe
2024-05-13  3:34     ` Nicolin Chen
2024-05-13  3:34       ` Nicolin Chen
2024-05-14 15:55       ` Jason Gunthorpe
2024-05-14 15:55         ` Jason Gunthorpe
2024-05-22  8:58         ` Tian, Kevin
2024-05-22  8:58           ` Tian, Kevin
2024-05-22  9:57           ` Baolu Lu
2024-05-22  9:57             ` Baolu Lu
2024-05-22 13:39           ` Jason Gunthorpe
2024-05-22 13:39             ` Jason Gunthorpe
2024-05-23  1:43             ` Tian, Kevin
2024-05-23  1:43               ` Tian, Kevin
2024-05-23  4:01               ` Nicolin Chen
2024-05-23  4:01                 ` Nicolin Chen
2024-05-23  5:40                 ` Tian, Kevin
2024-05-23  5:40                   ` Tian, Kevin
2024-05-23 12:58               ` Jason Gunthorpe
2024-05-23 12:58                 ` Jason Gunthorpe
2024-05-24  2:16                 ` Tian, Kevin
2024-05-24  2:16                   ` Tian, Kevin
2024-05-24 13:03                   ` Jason Gunthorpe
2024-05-24 13:03                     ` Jason Gunthorpe
2024-05-24  2:36                 ` Tian, Kevin
2024-05-24  2:36                   ` Tian, Kevin
2024-04-13  3:47 ` [PATCH RFCv1 05/14] iommufd: Add IOMMUFD_OBJ_VIOMMU and IOMMUFD_CMD_VIOMMU_ALLOC Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 14:27   ` Jason Gunthorpe
2024-05-12 14:27     ` Jason Gunthorpe
2024-05-13  4:33     ` Nicolin Chen [this message]
2024-05-13  4:33       ` Nicolin Chen
2024-05-14 15:38       ` Jason Gunthorpe
2024-05-14 15:38         ` Jason Gunthorpe
2024-05-15  1:20         ` Nicolin Chen
2024-05-15  1:20           ` Nicolin Chen
2024-05-21 18:05           ` Jason Gunthorpe
2024-05-21 18:05             ` Jason Gunthorpe
2024-05-22  0:13             ` Nicolin Chen
2024-05-22  0:13               ` Nicolin Chen
2024-05-22 16:46               ` Jason Gunthorpe
2024-05-22 16:46                 ` Jason Gunthorpe
2024-04-13  3:47 ` [PATCH RFCv1 06/14] iommufd/selftest: Add IOMMU_VIOMMU_ALLOC test coverage Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-04-13  3:47 ` [PATCH RFCv1 07/14] iommufd: Add viommu set/unset_dev_id ops Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 14:46   ` Jason Gunthorpe
2024-05-12 14:46     ` Jason Gunthorpe
2024-05-13  4:39     ` Nicolin Chen
2024-05-13  4:39       ` Nicolin Chen
2024-05-14 15:53       ` Jason Gunthorpe
2024-05-14 15:53         ` Jason Gunthorpe
2024-05-15  1:59         ` Nicolin Chen
2024-05-15  1:59           ` Nicolin Chen
2024-05-21 18:24           ` Jason Gunthorpe
2024-05-21 18:24             ` Jason Gunthorpe
2024-05-21 22:27             ` Nicolin Chen
2024-05-21 22:27               ` Nicolin Chen
2024-05-22 13:59               ` Jason Gunthorpe
2024-05-22 13:59                 ` Jason Gunthorpe
2024-05-23  6:19             ` Tian, Kevin
2024-05-23  6:19               ` Tian, Kevin
2024-05-23 15:01               ` Jason Gunthorpe
2024-05-23 15:01                 ` Jason Gunthorpe
2024-05-24  2:21                 ` Tian, Kevin
2024-05-24  2:21                   ` Tian, Kevin
2024-05-24  3:26                   ` Nicolin Chen
2024-05-24  3:26                     ` Nicolin Chen
2024-05-24  5:24                     ` Tian, Kevin
2024-05-24  5:24                       ` Tian, Kevin
2024-05-24  5:57                       ` Nicolin Chen
2024-05-24  5:57                         ` Nicolin Chen
2024-05-24  7:21                         ` Tian, Kevin
2024-05-24  7:21                           ` Tian, Kevin
2024-05-24 13:12                           ` Jason Gunthorpe
2024-05-24 13:12                             ` Jason Gunthorpe
2024-05-24 13:05                   ` Jason Gunthorpe
2024-05-24 13:05                     ` Jason Gunthorpe
2024-05-23  5:44       ` Tian, Kevin
2024-05-23  5:44         ` Tian, Kevin
2024-05-23  6:09         ` Nicolin Chen
2024-05-23  6:09           ` Nicolin Chen
2024-05-23  6:22           ` Tian, Kevin
2024-05-23  6:22             ` Tian, Kevin
2024-05-23 13:33         ` Jason Gunthorpe
2024-05-23 13:33           ` Jason Gunthorpe
2024-05-12 14:51   ` Jason Gunthorpe
2024-05-12 14:51     ` Jason Gunthorpe
2024-04-13  3:47 ` [PATCH RFCv1 08/14] iommufd: Add IOMMU_VIOMMU_SET_DEV_ID ioctl Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 14:58   ` Jason Gunthorpe
2024-05-12 14:58     ` Jason Gunthorpe
2024-05-13  5:24     ` Nicolin Chen
2024-05-13  5:24       ` Nicolin Chen
2024-05-17  5:14     ` Nicolin Chen
2024-05-17  5:14       ` Nicolin Chen
2024-05-21 18:30       ` Jason Gunthorpe
2024-05-21 18:30         ` Jason Gunthorpe
2024-05-22  2:15         ` Nicolin Chen
2024-05-22  2:15           ` Nicolin Chen
2024-05-23  6:42   ` Tian, Kevin
2024-05-23  6:42     ` Tian, Kevin
2024-05-24  5:40     ` Nicolin Chen
2024-05-24  5:40       ` Nicolin Chen
2024-05-24  7:13       ` Tian, Kevin
2024-05-24  7:13         ` Tian, Kevin
2024-05-24 13:19         ` Jason Gunthorpe
2024-05-24 13:19           ` Jason Gunthorpe
2024-05-27  1:08           ` Tian, Kevin
2024-05-27  1:08             ` Tian, Kevin
2024-05-28 20:22             ` Nicolin Chen
2024-05-28 20:22               ` Nicolin Chen
2024-05-28 20:33               ` Nicolin Chen
2024-05-28 20:33                 ` Nicolin Chen
2024-05-29  2:58               ` Tian, Kevin
2024-05-29  2:58                 ` Tian, Kevin
2024-05-29  3:20                 ` Nicolin Chen
2024-05-29  3:20                   ` Nicolin Chen
2024-05-30  0:28                   ` Tian, Kevin
2024-05-30  0:28                     ` Tian, Kevin
2024-05-30  0:58                     ` Nicolin Chen
2024-05-30  0:58                       ` Nicolin Chen
2024-05-30  3:05                       ` Tian, Kevin
2024-05-30  3:05                         ` Tian, Kevin
2024-05-30  4:26                         ` Nicolin Chen
2024-05-30  4:26                           ` Nicolin Chen
2024-06-01 21:45                       ` Jason Gunthorpe
2024-06-01 21:45                         ` Jason Gunthorpe
2024-06-03  3:25                         ` Nicolin Chen
2024-06-03  3:25                           ` Nicolin Chen
2024-06-06 18:24                           ` Jason Gunthorpe
2024-06-06 18:24                             ` Jason Gunthorpe
2024-06-06 18:44                             ` Nicolin Chen
2024-06-06 18:44                               ` Nicolin Chen
2024-06-07  0:27                               ` Jason Gunthorpe
2024-06-07  0:27                                 ` Jason Gunthorpe
2024-06-07  0:36                                 ` Tian, Kevin
2024-06-07  0:36                                   ` Tian, Kevin
2024-06-07 14:49                                   ` Jason Gunthorpe
2024-06-07 14:49                                     ` Jason Gunthorpe
2024-06-07 21:19                                     ` Nicolin Chen
2024-06-07 21:19                                       ` Nicolin Chen
2024-06-10 12:04                                       ` Jason Gunthorpe
2024-06-10 12:04                                         ` Jason Gunthorpe
2024-06-10 20:01                                         ` Nicolin Chen
2024-06-10 20:01                                           ` Nicolin Chen
2024-06-10 22:01                                           ` Jason Gunthorpe
2024-06-10 22:01                                             ` Jason Gunthorpe
2024-06-10 23:04                                             ` Nicolin Chen
2024-06-10 23:04                                               ` Nicolin Chen
2024-06-11  0:28                                               ` Jason Gunthorpe
2024-06-11  0:28                                                 ` Jason Gunthorpe
2024-06-11  0:44                                                 ` Nicolin Chen
2024-06-11  0:44                                                   ` Nicolin Chen
2024-06-11 12:17                                                   ` Jason Gunthorpe
2024-06-11 12:17                                                     ` Jason Gunthorpe
2024-06-11 19:11                                                     ` Nicolin Chen
2024-05-28 20:30             ` Nicolin Chen
2024-05-28 20:30               ` Nicolin Chen
2024-05-24 13:20       ` Jason Gunthorpe
2024-05-24 13:20         ` Jason Gunthorpe
2024-04-13  3:47 ` [PATCH RFCv1 09/14] iommufd/selftest: Add IOMMU_VIOMMU_SET_DEV_ID test coverage Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-04-13  3:47 ` [PATCH RFCv1 10/14] iommufd/selftest: Add IOMMU_TEST_OP_MV_CHECK_DEV_ID Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-04-13  3:47 ` [PATCH RFCv1 11/14] iommufd: Add struct iommufd_vqueue and its related viommu ops Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-04-13  3:47 ` [PATCH RFCv1 12/14] iommufd: Add IOMMUFD_OBJ_VQUEUE and IOMMUFD_CMD_VQUEUE_ALLOC Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 15:02   ` Jason Gunthorpe
2024-05-12 15:02     ` Jason Gunthorpe
2024-05-13  4:41     ` Nicolin Chen
2024-05-13  4:41       ` Nicolin Chen
2024-05-13 22:36       ` Jason Gunthorpe
2024-05-13 22:36         ` Jason Gunthorpe
2024-05-23  6:57     ` Tian, Kevin
2024-05-23  6:57       ` Tian, Kevin
2024-05-24  4:42       ` Nicolin Chen
2024-05-24  4:42         ` Nicolin Chen
2024-05-24  5:26         ` Tian, Kevin
2024-05-24  5:26           ` Tian, Kevin
2024-05-24  6:03           ` Nicolin Chen
2024-05-24  6:03             ` Nicolin Chen
2024-05-23  7:05   ` Tian, Kevin
2024-05-23  7:05     ` Tian, Kevin
2024-04-13  3:47 ` [PATCH RFCv1 13/14] iommufd: Add mmap infrastructure Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-12 15:19   ` Jason Gunthorpe
2024-05-12 15:19     ` Jason Gunthorpe
2024-05-13  4:43     ` Nicolin Chen
2024-05-13  4:43       ` Nicolin Chen
2024-04-13  3:47 ` [PATCH RFCv1 14/14] iommu/tegra241-cmdqv: Add user-space use support Nicolin Chen
2024-04-13  3:47   ` Nicolin Chen
2024-05-22  8:40 ` [PATCH RFCv1 00/14] Add Tegra241 (Grace) CMDQV Support (part 2/2) Tian, Kevin
2024-05-22  8:40   ` Tian, Kevin
2024-05-22 16:48   ` Jason Gunthorpe
2024-05-22 16:48     ` Jason Gunthorpe
2024-05-22 19:47     ` Nicolin Chen
2024-05-22 19:47       ` Nicolin Chen
2024-05-22 23:28       ` Jason Gunthorpe
2024-05-22 23:28         ` Jason Gunthorpe
2024-05-22 23:43         ` Tian, Kevin
2024-05-22 23:43           ` Tian, Kevin
2024-05-23  3:09           ` Nicolin Chen
2024-05-23  3:09             ` Nicolin Chen
2024-05-23 12:48             ` Jason Gunthorpe
2024-05-23 12:48               ` 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=ZkGYN36N7sh2vUmv@nvidia.com \
    --to=nicolinc@nvidia.com \
    --cc=Dhaval.Giani@amd.com \
    --cc=eric.auger@redhat.com \
    --cc=iommu@lists.linux.dev \
    --cc=jgg@nvidia.com \
    --cc=jon.grimm@amd.com \
    --cc=joro@8bytes.org \
    --cc=kevin.tian@intel.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-tegra@vger.kernel.org \
    --cc=robin.murphy@arm.com \
    --cc=santosh.shukla@amd.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=suravee.suthikulpanit@amd.com \
    --cc=vasant.hegde@amd.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.