From: Jason Gunthorpe <jgg@nvidia.com>
To: "Tian, Kevin" <kevin.tian@intel.com>
Cc: "Liu, Yi L" <yi.l.liu@intel.com>,
"joro@8bytes.org" <joro@8bytes.org>,
"alex.williamson@redhat.com" <alex.williamson@redhat.com>,
"robin.murphy@arm.com" <robin.murphy@arm.com>,
"baolu.lu@linux.intel.com" <baolu.lu@linux.intel.com>,
"cohuck@redhat.com" <cohuck@redhat.com>,
"eric.auger@redhat.com" <eric.auger@redhat.com>,
"nicolinc@nvidia.com" <nicolinc@nvidia.com>,
"kvm@vger.kernel.org" <kvm@vger.kernel.org>,
"mjrosato@linux.ibm.com" <mjrosato@linux.ibm.com>,
"chao.p.peng@linux.intel.com" <chao.p.peng@linux.intel.com>,
"yi.y.sun@linux.intel.com" <yi.y.sun@linux.intel.com>,
"peterx@redhat.com" <peterx@redhat.com>,
"jasowang@redhat.com" <jasowang@redhat.com>,
"shameerali.kolothum.thodi@huawei.com"
<shameerali.kolothum.thodi@huawei.com>,
"lulu@redhat.com" <lulu@redhat.com>,
"suravee.suthikulpanit@amd.com" <suravee.suthikulpanit@amd.com>,
"iommu@lists.linux.dev" <iommu@lists.linux.dev>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linux-kselftest@vger.kernel.org"
<linux-kselftest@vger.kernel.org>,
"Duan, Zhenzhong" <zhenzhong.duan@intel.com>,
"joao.m.martins@oracle.com" <joao.m.martins@oracle.com>,
"Zeng, Xin" <xin.zeng@intel.com>,
"Zhao, Yan Y" <yan.y.zhao@intel.com>
Subject: Re: [PATCH v7 1/3] iommufd: Add data structure for Intel VT-d stage-1 cache invalidation
Date: Tue, 2 Jan 2024 13:46:40 -0400 [thread overview]
Message-ID: <20240102174640.GA171005@nvidia.com> (raw)
In-Reply-To: <BN9PR11MB5276D14D2A7FF60B41A6A7B48C93A@BN9PR11MB5276.namprd11.prod.outlook.com>
On Fri, Dec 15, 2023 at 01:50:07AM +0000, Tian, Kevin wrote:
> > - Reuse Nicolin's vRID->pRID mapping. If thevRID->pRID mapping is
> > maintained, then intel iommu can report a vRID back to user. But intel
> > iommu driver does not have viommu context, no place to hold the vRID-
> > >pRID
> > mapping. TBH. It may require other reasons to introduce it other than the
> > error reporting need. Anyhow, this requires more thinking and also has
> > dependency even if it is doable in intel side.
>
> this sounds like a cleaner way to inject knowledge which iommu driver
> requires to find out the user tag. but yes it's a bit weird to introduce
> viommu awareness in intel iommu driver when there is no such thing
> in real hardware.
>
> and for this error reporting case what we actually require is the
> reverse map i.e. pRID->vRID. Not sure whether we can leverage the
> same RID mapping uAPI as for ARM/AMD but ignore viommu_id
> and then store vRID under device_domain_info. a bit tricky on
> life cycle management and also incompatible with SIOV...
>
> let's see whether Jason has a better idea here.
I think v10 is OK
struct iommu_hwpt_invalidate {
__u32 size;
__u32 hwpt_id;
__aligned_u64 data_uptr;
__u32 data_type;
__u32 entry_len;
__u32 entry_num;
__u32 __reserved;
};
Sends the invalidation to the HWPT which matches what Intel wanted
where the entire HWPT and all its associated devices are
invalidated. No seperate per-device invalidation.
For error and event reporting they should be returned to userspace
with the IOMMU dev_id indicating the originating PCI function.
The VMM would have to convert dev_id into vRID according to the vIOMMU
instance that the device is hooked up.
In iommu land we should never have a "RID" but always some kind of
device-specific "device ID" which is the index into the particular HW
table, and that ID is naturally scoped to within the IOMMU instance
that owns the table - so it is very much not a global ID that can be
used alone in any of the uAPI.
The uAPI should use the iommufd device ID to refer to specific
devices.
Jason
next prev parent reply other threads:[~2024-01-02 17:46 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-17 13:18 [PATCH v7 0/3] Add Intel VT-d nested translation (part 2/2) Yi Liu
2023-11-17 13:18 ` [PATCH v7 1/3] iommufd: Add data structure for Intel VT-d stage-1 cache invalidation Yi Liu
2023-11-20 8:26 ` Tian, Kevin
2023-11-20 23:04 ` Jason Gunthorpe
2023-11-21 2:54 ` Tian, Kevin
2023-11-21 12:17 ` Jason Gunthorpe
2023-11-22 2:32 ` Baolu Lu
2023-11-22 3:52 ` Yi Liu
2023-11-22 4:58 ` Tian, Kevin
2023-11-22 13:25 ` Jason Gunthorpe
2023-11-24 3:00 ` Tian, Kevin
2023-11-24 13:46 ` Jason Gunthorpe
2023-12-14 11:26 ` Yi Liu
2023-12-15 1:50 ` Tian, Kevin
2023-12-15 2:28 ` Nicolin Chen
2023-12-15 3:04 ` Tian, Kevin
2023-12-15 3:32 ` Nicolin Chen
2023-12-15 4:01 ` Yi Liu
2023-12-16 18:49 ` Nicolin Chen
2023-12-17 23:28 ` Tian, Kevin
2024-01-02 23:38 ` Jason Gunthorpe
2024-01-03 2:24 ` Yi Liu
2024-01-03 16:01 ` Jason Gunthorpe
2024-01-03 16:48 ` Nicolin Chen
2024-01-03 16:58 ` Jason Gunthorpe
2024-01-03 17:06 ` Nicolin Chen
2024-01-03 17:52 ` Jason Gunthorpe
2024-01-03 20:18 ` Nicolin Chen
2024-01-04 0:02 ` Jason Gunthorpe
2024-01-05 7:38 ` Nicolin Chen
2024-01-05 15:46 ` Jason Gunthorpe
2024-01-02 17:46 ` Jason Gunthorpe [this message]
2024-01-04 14:36 ` Jason Gunthorpe
2024-01-05 2:16 ` Tian, Kevin
2024-01-05 2:52 ` Tian, Kevin
2024-01-05 14:45 ` Jason Gunthorpe
2024-01-08 4:07 ` Tian, Kevin
2024-01-08 13:51 ` Jason Gunthorpe
2024-01-09 6:00 ` Yi Liu
2023-11-17 13:18 ` [PATCH v7 2/3] iommu/vt-d: Make iotlb flush helpers to be extern Yi Liu
2023-11-17 13:18 ` [PATCH v7 3/3] iommu/vt-d: Add iotlb flush for nested domain Yi Liu
2023-11-20 8:32 ` Tian, Kevin
2023-12-12 3:58 ` Yi Liu
2023-12-06 18:56 ` Jason Gunthorpe
2023-12-12 3:59 ` 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=20240102174640.GA171005@nvidia.com \
--to=jgg@nvidia.com \
--cc=alex.williamson@redhat.com \
--cc=baolu.lu@linux.intel.com \
--cc=chao.p.peng@linux.intel.com \
--cc=cohuck@redhat.com \
--cc=eric.auger@redhat.com \
--cc=iommu@lists.linux.dev \
--cc=jasowang@redhat.com \
--cc=joao.m.martins@oracle.com \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-kselftest@vger.kernel.org \
--cc=lulu@redhat.com \
--cc=mjrosato@linux.ibm.com \
--cc=nicolinc@nvidia.com \
--cc=peterx@redhat.com \
--cc=robin.murphy@arm.com \
--cc=shameerali.kolothum.thodi@huawei.com \
--cc=suravee.suthikulpanit@amd.com \
--cc=xin.zeng@intel.com \
--cc=yan.y.zhao@intel.com \
--cc=yi.l.liu@intel.com \
--cc=yi.y.sun@linux.intel.com \
--cc=zhenzhong.duan@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).