All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Alex Williamson <alex.williamson@redhat.com>,
	"Liu, Yi L" <yi.l.liu@intel.com>,
	Jacob Pan <jacob.jun.pan@linux.intel.com>,
	Auger Eric <eric.auger@redhat.com>,
	Jean-Philippe Brucker <jean-philippe@linaro.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Joerg Roedel <joro@8bytes.org>,
	Lu Baolu <baolu.lu@linux.intel.com>,
	David Woodhouse <dwmw2@infradead.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"cgroups@vger.kernel.org" <cgroups@vger.kernel.org>,
	Tejun Heo <tj@kernel.org>, Li Zefan <lizefan@huawei.com>,
	Johannes Weiner <hannes@cmpxchg.org>,
	Jean-Philippe Brucker <jean-philippe@linaro.com>,
	Jonathan Corbet <corbet@lwn.net>,
	"Raj, Ashok" <ashok.raj@intel.com>, "Wu, Hao" <hao.wu@intel.com>,
	"Jiang, Dave" <dave.jiang@intel.com>
Subject: RE: [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs
Date: Sun, 25 Apr 2021 09:24:46 +0000	[thread overview]
Message-ID: <MWHPR11MB18861FE6982D73AFBF173E048C439@MWHPR11MB1886.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210423114944.GF1370958@nvidia.com>

> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Friday, April 23, 2021 7:50 PM
> 
> On Fri, Apr 23, 2021 at 09:06:44AM +0000, Tian, Kevin wrote:
> 
> > Or could we still have just one /dev/ioasid but allow userspace to create
> > multiple gpa_ioasid_id's each associated to a different iommu domain?
> > Then the compatibility check will be done at ATTACH_IOASID instead of
> > JOIN_IOASID_FD.
> 
> To my mind what makes sense that that /dev/ioasid presents a single
> IOMMU behavior that is basically the same. This may ultimately not be
> what we call a domain today.
> 
> We may end up with a middle object which is a group of domains that
> all have the same capabilities, and we define capabilities in a way
> that most platforms have a single group of domains.
> 
> The key capability of a group of domains is they can all share the HW
> page table representation, so if an IOASID instantiates a page table
> it can be assigned to any device on any domain in the gruop of domains.

Sorry that I didn't quite get it. If a group of domains can share the 
same page table then why not just attaching all devices under those
domains into a single domain? IMO the iommu domain is introduced
to describe the HW page table. Ideally a new iommu domain should
be created only when it's impossible to share an existing page table. 
Otherwise you'll get bad iotlb efficiency because each domain has its
unique domain id (tagged in iotlb) then duplicated iotlb entries may
exist even when a single page table is shared by those domains.

Then does it imply that you are actually suggesting /dev/ioasid associated 
with a single 2nd-level page table (which can be nested by multiple 
1st-level page tables represented by other ioasids) thus a single iommu 
domain for all devices linked to compatible IOMMUs?

Or, can you elaborate what is the targeted usage by having a group of
domains which all share the same page table?

> 
> If you try to say that /dev/ioasid has many domains and they can't
> have their HW page tables shared then I think the implementation
> complexity will explode.

Want to hear your opinion for one open here. There is no doubt that
an ioasid represents a HW page table when the table is constructed by 
userspace and then linked to the IOMMU through the bind/unbind
API. But I'm not very sure about whether an ioasid should represent 
the exact pgtable or the mapping metadata when the underlying 
pgtable is indirectly constructed through map/unmap API. VFIO does
the latter way, which is why it allows multiple incompatible domains
in a single container which all share the same mapping metadata.

> 
> > This does impose one burden to userspace though, to understand the
> > IOMMU compatibilities and figure out which incompatible features may
> > affect the page table management (while such knowledge is IOMMU
> > vendor specific) and then explicitly manage multiple /dev/ioasid's or
> > multiple gpa_ioasid_id's.
> 
> Right, this seems very hard in the general case..
> 
> > Alternatively is it a good design by having the kernel return error at
> > attach/join time to indicate that incompatibility is detected then the
> > userspace should open a new /dev/ioasid or creates a new gpa_ioasid_id
> > for the failing device upon such failure, w/o constructing its own
> > compatibility knowledge?
> 
> Yes, this feels workable too
> 
> > > This means qemue might have multiple /dev/ioasid's if the system has
> > > multiple incompatible IOMMUs (is this actually a thing?) The platform
> >
> > One example is Intel platform with igd. Typically there is one IOMMU
> > dedicated for igd and the other IOMMU serving all the remaining devices.
> > The igd IOMMU may not support IOMMU_CACHE while the other one
> > does.
> 
> If we can do as above the two domains may be in the same group of
> domains and the IOMMU_CACHE is not exposed at the /dev/ioasid level.
> 
> For instance the API could specifiy IOMMU_CACHE during attach, not
> during IOASID creation.
> 
> Getting all the data model right in the API is going to be trickiest
> part of this.
> 
> > yes, e.g. in vSVA both devices (behind divergence IOMMUs) are bound
> > to a single guest process which has an unique PASID and 1st-level page
> > table. Earlier incompatibility example is only for 2nd-level.
> 
> Because when we get to here, things become inscrutable as an API if
> you are trying to say two different IOMMU presentations can actually
> be nested.
> 
> > > Sure.. The tricky bit will be to define both of the common nested
> > > operating modes.
> > >
> > >   nested_ioasid = ioctl(ioasid_fd, CREATE_NESTED_IOASID,
> gpa_ioasid_id);
> > >   ioctl(ioasid_fd, SET_NESTED_IOASID_PAGE_TABLES, nested_ioasid, ..)
> > >
> > >    // IOMMU will match on the device RID, no PASID:
> > >   ioctl(vfio_device, ATTACH_IOASID, nested_ioasid);
> > >
> > >    // IOMMU will match on the device RID and PASID:
> > >   ioctl(vfio_device, ATTACH_IOASID_PASID, pasid, nested_ioasid);
> >
> > I'm a bit confused here why we have both pasid and ioasid notations
> together.
> > Why not use nested_ioasid as pasid directly (i.e. every pasid in nested
> mode
> > is created by CREATE_NESTED_IOASID)?
> 
> The IOASID is not a PASID, it is just a page table.
> 
> A generic IOMMU matches on either RID or (RID,PASID), so you should
> specify the PASID when establishing the match.
> 
> IOASID only specifies the page table.
> 
> So you read the above as configuring the path
> 
>   PCI_DEVICE -> (RID,PASID) -> nested_ioasid -> gpa_ioasid_id -> physical
> 
> Where (RID,PASID) indicate values taken from the PCI packet.
> 
> In principle the IOMMU could also be commanded to reuse the same
> ioasid page table with a different PASID:
> 
>   PCI_DEVICE_B -> (RID_B,PASID_B) -> nested_ioasid -> gpa_ioasid_id ->
> physical
> 
> This is impossible if the ioasid == PASID in the API.

OK, now I see where the disconnection comes from. In my context ioasid
is the identifier that is actually used in the wire, but seems you treat it as 
a sw-defined namespace purely for representing page tables. We should 
clear this concept first before further discussing other details. 😊

Below is the description when the kernel ioasid allocator was introduced:

--
commit fa83433c92e340822a056a610a4fa2063a3db304
Author: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Date:   Wed Oct 2 12:42:41 2019 -0700

    iommu: Add I/O ASID allocator

    Some devices might support multiple DMA address spaces, in particular
    those that have the PCI PASID feature. PASID (Process Address Space ID)
    allows to share process address spaces with devices (SVA), partition a
    device into VM-assignable entities (VFIO mdev) or simply provide
    multiple DMA address space to kernel drivers. Add a global PASID
    allocator usable by different drivers at the same time. Name it I/O ASID
    to avoid confusion with ASIDs allocated by arch code, which are usually
    a separate ID space.

    The IOASID space is global. Each device can have its own PASID space,
    but by convention the IOMMU ended up having a global PASID space, so
    that with SVA, each mm_struct is associated to a single PASID.

    The allocator is primarily used by IOMMU subsystem but in rare occasions
    drivers would like to allocate PASIDs for devices that aren't managed by
    an IOMMU, using the same ID space as IOMMU.
--

ioasid and pasid are used interchangeably within the kernel, and the ioasid
value returned by the ioasid allocator is directly used as PASID when the
driver programs IOMMU and device, respectively. My context is based on 
this understanding, which is why I thought nested_ioasid can be directly 
used as PASID in earlier reply. Do you see a problem with this approach?

Then following your proposal, does it mean that we need another interface
for allocating PASID? and since ioasid means different thing in uAPI and
in-kernel API, possibly a new name is required to avoid confusion?

> 
> > Below I list different scenarios for ATTACH_IOASID in my view. Here
> > vfio_device could be a real PCI function (RID), or a subfunction device
> > (RID+def_ioasid).
> 
> What is RID+def_ioasid? The IOMMU does not match on IOASID's.
> 
> A subfunction device always need to use PASID, or an internal IOMMU,
> confused what you are trying to explain?

Here the def_ioasid is the PASID that is associated with the subfunction
in my context with above explanation.

> 
> > If the whole PASID table is delegated to the guest in ARM case, the guest
> > can select its own PASIDs w/o telling the hypervisor.
> 
> The hypervisor has to route the PASID's to the guest at some point - a
> guest can't just claim a PASID unilaterally, that would not be secure.
> 
> If it is not done with per-PASID hypercalls then the hypervisor has to
> route all PASID's for a RID to the guest and /dev/ioasid needs to have
> a nested IOASID object that represents this connection - ie it points
> to the PASID table of the guest vIOMMU or something.

yes, this might be the model that will work for ARM case. In their
architecture the PASID table locates in the GPA space thus naturally
to be managed by the guest (though Jean ever mentioned some
tricky method to allow the host managing it by stealing a GPA window).

> 
> Remember this all has to be compatible with mdev's too and without
> hypercalls to create PASIDs that will be hard: mdev sharing a RID and
> slicing the physical PASIDs can't support a 'send all PASIDs to the
> guest' model, or even a 'the guest gets to pick the PASID' option.
> 

yes, with mdev above is inevitable. I guess ARM may need some
similar extension in their SMMU as what VT-d provide for mdev
usage, e.g. at least not mandating PASID table in GPA space. But
before that they may still expect a way to delegate the whole
PASID space per RID to the guest.

Really lots of subtle differences to be generalized...

Thanks
Kevin

WARNING: multiple messages have this Message-ID (diff)
From: "Tian, Kevin" <kevin.tian@intel.com>
To: Jason Gunthorpe <jgg@nvidia.com>
Cc: Jean-Philippe Brucker <jean-philippe@linaro.org>,
	Li Zefan <lizefan@huawei.com>,
	"Jiang, Dave" <dave.jiang@intel.com>,
	"Raj, Ashok" <ashok.raj@intel.com>,
	Jonathan Corbet <corbet@lwn.net>,
	Jean-Philippe Brucker <jean-philippe@linaro.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	Alex Williamson <alex.williamson@redhat.com>,
	Johannes Weiner <hannes@cmpxchg.org>, Tejun Heo <tj@kernel.org>,
	"cgroups@vger.kernel.org" <cgroups@vger.kernel.org>,
	"Wu,  Hao" <hao.wu@intel.com>,
	David Woodhouse <dwmw2@infradead.org>
Subject: RE: [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs
Date: Sun, 25 Apr 2021 09:24:46 +0000	[thread overview]
Message-ID: <MWHPR11MB18861FE6982D73AFBF173E048C439@MWHPR11MB1886.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210423114944.GF1370958@nvidia.com>

> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Friday, April 23, 2021 7:50 PM
> 
> On Fri, Apr 23, 2021 at 09:06:44AM +0000, Tian, Kevin wrote:
> 
> > Or could we still have just one /dev/ioasid but allow userspace to create
> > multiple gpa_ioasid_id's each associated to a different iommu domain?
> > Then the compatibility check will be done at ATTACH_IOASID instead of
> > JOIN_IOASID_FD.
> 
> To my mind what makes sense that that /dev/ioasid presents a single
> IOMMU behavior that is basically the same. This may ultimately not be
> what we call a domain today.
> 
> We may end up with a middle object which is a group of domains that
> all have the same capabilities, and we define capabilities in a way
> that most platforms have a single group of domains.
> 
> The key capability of a group of domains is they can all share the HW
> page table representation, so if an IOASID instantiates a page table
> it can be assigned to any device on any domain in the gruop of domains.

Sorry that I didn't quite get it. If a group of domains can share the 
same page table then why not just attaching all devices under those
domains into a single domain? IMO the iommu domain is introduced
to describe the HW page table. Ideally a new iommu domain should
be created only when it's impossible to share an existing page table. 
Otherwise you'll get bad iotlb efficiency because each domain has its
unique domain id (tagged in iotlb) then duplicated iotlb entries may
exist even when a single page table is shared by those domains.

Then does it imply that you are actually suggesting /dev/ioasid associated 
with a single 2nd-level page table (which can be nested by multiple 
1st-level page tables represented by other ioasids) thus a single iommu 
domain for all devices linked to compatible IOMMUs?

Or, can you elaborate what is the targeted usage by having a group of
domains which all share the same page table?

> 
> If you try to say that /dev/ioasid has many domains and they can't
> have their HW page tables shared then I think the implementation
> complexity will explode.

Want to hear your opinion for one open here. There is no doubt that
an ioasid represents a HW page table when the table is constructed by 
userspace and then linked to the IOMMU through the bind/unbind
API. But I'm not very sure about whether an ioasid should represent 
the exact pgtable or the mapping metadata when the underlying 
pgtable is indirectly constructed through map/unmap API. VFIO does
the latter way, which is why it allows multiple incompatible domains
in a single container which all share the same mapping metadata.

> 
> > This does impose one burden to userspace though, to understand the
> > IOMMU compatibilities and figure out which incompatible features may
> > affect the page table management (while such knowledge is IOMMU
> > vendor specific) and then explicitly manage multiple /dev/ioasid's or
> > multiple gpa_ioasid_id's.
> 
> Right, this seems very hard in the general case..
> 
> > Alternatively is it a good design by having the kernel return error at
> > attach/join time to indicate that incompatibility is detected then the
> > userspace should open a new /dev/ioasid or creates a new gpa_ioasid_id
> > for the failing device upon such failure, w/o constructing its own
> > compatibility knowledge?
> 
> Yes, this feels workable too
> 
> > > This means qemue might have multiple /dev/ioasid's if the system has
> > > multiple incompatible IOMMUs (is this actually a thing?) The platform
> >
> > One example is Intel platform with igd. Typically there is one IOMMU
> > dedicated for igd and the other IOMMU serving all the remaining devices.
> > The igd IOMMU may not support IOMMU_CACHE while the other one
> > does.
> 
> If we can do as above the two domains may be in the same group of
> domains and the IOMMU_CACHE is not exposed at the /dev/ioasid level.
> 
> For instance the API could specifiy IOMMU_CACHE during attach, not
> during IOASID creation.
> 
> Getting all the data model right in the API is going to be trickiest
> part of this.
> 
> > yes, e.g. in vSVA both devices (behind divergence IOMMUs) are bound
> > to a single guest process which has an unique PASID and 1st-level page
> > table. Earlier incompatibility example is only for 2nd-level.
> 
> Because when we get to here, things become inscrutable as an API if
> you are trying to say two different IOMMU presentations can actually
> be nested.
> 
> > > Sure.. The tricky bit will be to define both of the common nested
> > > operating modes.
> > >
> > >   nested_ioasid = ioctl(ioasid_fd, CREATE_NESTED_IOASID,
> gpa_ioasid_id);
> > >   ioctl(ioasid_fd, SET_NESTED_IOASID_PAGE_TABLES, nested_ioasid, ..)
> > >
> > >    // IOMMU will match on the device RID, no PASID:
> > >   ioctl(vfio_device, ATTACH_IOASID, nested_ioasid);
> > >
> > >    // IOMMU will match on the device RID and PASID:
> > >   ioctl(vfio_device, ATTACH_IOASID_PASID, pasid, nested_ioasid);
> >
> > I'm a bit confused here why we have both pasid and ioasid notations
> together.
> > Why not use nested_ioasid as pasid directly (i.e. every pasid in nested
> mode
> > is created by CREATE_NESTED_IOASID)?
> 
> The IOASID is not a PASID, it is just a page table.
> 
> A generic IOMMU matches on either RID or (RID,PASID), so you should
> specify the PASID when establishing the match.
> 
> IOASID only specifies the page table.
> 
> So you read the above as configuring the path
> 
>   PCI_DEVICE -> (RID,PASID) -> nested_ioasid -> gpa_ioasid_id -> physical
> 
> Where (RID,PASID) indicate values taken from the PCI packet.
> 
> In principle the IOMMU could also be commanded to reuse the same
> ioasid page table with a different PASID:
> 
>   PCI_DEVICE_B -> (RID_B,PASID_B) -> nested_ioasid -> gpa_ioasid_id ->
> physical
> 
> This is impossible if the ioasid == PASID in the API.

OK, now I see where the disconnection comes from. In my context ioasid
is the identifier that is actually used in the wire, but seems you treat it as 
a sw-defined namespace purely for representing page tables. We should 
clear this concept first before further discussing other details. 😊

Below is the description when the kernel ioasid allocator was introduced:

--
commit fa83433c92e340822a056a610a4fa2063a3db304
Author: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Date:   Wed Oct 2 12:42:41 2019 -0700

    iommu: Add I/O ASID allocator

    Some devices might support multiple DMA address spaces, in particular
    those that have the PCI PASID feature. PASID (Process Address Space ID)
    allows to share process address spaces with devices (SVA), partition a
    device into VM-assignable entities (VFIO mdev) or simply provide
    multiple DMA address space to kernel drivers. Add a global PASID
    allocator usable by different drivers at the same time. Name it I/O ASID
    to avoid confusion with ASIDs allocated by arch code, which are usually
    a separate ID space.

    The IOASID space is global. Each device can have its own PASID space,
    but by convention the IOMMU ended up having a global PASID space, so
    that with SVA, each mm_struct is associated to a single PASID.

    The allocator is primarily used by IOMMU subsystem but in rare occasions
    drivers would like to allocate PASIDs for devices that aren't managed by
    an IOMMU, using the same ID space as IOMMU.
--

ioasid and pasid are used interchangeably within the kernel, and the ioasid
value returned by the ioasid allocator is directly used as PASID when the
driver programs IOMMU and device, respectively. My context is based on 
this understanding, which is why I thought nested_ioasid can be directly 
used as PASID in earlier reply. Do you see a problem with this approach?

Then following your proposal, does it mean that we need another interface
for allocating PASID? and since ioasid means different thing in uAPI and
in-kernel API, possibly a new name is required to avoid confusion?

> 
> > Below I list different scenarios for ATTACH_IOASID in my view. Here
> > vfio_device could be a real PCI function (RID), or a subfunction device
> > (RID+def_ioasid).
> 
> What is RID+def_ioasid? The IOMMU does not match on IOASID's.
> 
> A subfunction device always need to use PASID, or an internal IOMMU,
> confused what you are trying to explain?

Here the def_ioasid is the PASID that is associated with the subfunction
in my context with above explanation.

> 
> > If the whole PASID table is delegated to the guest in ARM case, the guest
> > can select its own PASIDs w/o telling the hypervisor.
> 
> The hypervisor has to route the PASID's to the guest at some point - a
> guest can't just claim a PASID unilaterally, that would not be secure.
> 
> If it is not done with per-PASID hypercalls then the hypervisor has to
> route all PASID's for a RID to the guest and /dev/ioasid needs to have
> a nested IOASID object that represents this connection - ie it points
> to the PASID table of the guest vIOMMU or something.

yes, this might be the model that will work for ARM case. In their
architecture the PASID table locates in the GPA space thus naturally
to be managed by the guest (though Jean ever mentioned some
tricky method to allow the host managing it by stealing a GPA window).

> 
> Remember this all has to be compatible with mdev's too and without
> hypercalls to create PASIDs that will be hard: mdev sharing a RID and
> slicing the physical PASIDs can't support a 'send all PASIDs to the
> guest' model, or even a 'the guest gets to pick the PASID' option.
> 

yes, with mdev above is inevitable. I guess ARM may need some
similar extension in their SMMU as what VT-d provide for mdev
usage, e.g. at least not mandating PASID table in GPA space. But
before that they may still expect a way to delegate the whole
PASID space per RID to the guest.

Really lots of subtle differences to be generalized...

Thanks
Kevin
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: "Tian, Kevin" <kevin.tian-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
To: Jason Gunthorpe <jgg-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Cc: Alex Williamson
	<alex.williamson-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	"Liu, Yi L" <yi.l.liu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Jacob Pan <jacob.jun.pan-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	Auger Eric <eric.auger-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>,
	Jean-Philippe Brucker
	<jean-philippe-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>,
	LKML <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>,
	Lu Baolu <baolu.lu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org>,
	David Woodhouse <dwmw2-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>,
	"iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org"
	<iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org>,
	"cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	Tejun Heo <tj-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>,
	Johannes Weiner <hannes-druUgvl0LCNAfugRpC6u6w@public.gmane.org>,
	Jean-Philippe Brucker
	<jean-philippe-68IGFXMjmZ7QT0dZR+AlfA@public.gmane.org>,
	Jonathan Corbet <corbet-T1hC0tSOHrs@public.gmane.org>,
	"Raj, Ashok" <ashok.raj-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Wu, Hao" <hao.wu-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	"Jiang,
	Dave" <dave.jiang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Subject: RE: [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs
Date: Sun, 25 Apr 2021 09:24:46 +0000	[thread overview]
Message-ID: <MWHPR11MB18861FE6982D73AFBF173E048C439@MWHPR11MB1886.namprd11.prod.outlook.com> (raw)
In-Reply-To: <20210423114944.GF1370958-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>

> From: Jason Gunthorpe <jgg@nvidia.com>
> Sent: Friday, April 23, 2021 7:50 PM
> 
> On Fri, Apr 23, 2021 at 09:06:44AM +0000, Tian, Kevin wrote:
> 
> > Or could we still have just one /dev/ioasid but allow userspace to create
> > multiple gpa_ioasid_id's each associated to a different iommu domain?
> > Then the compatibility check will be done at ATTACH_IOASID instead of
> > JOIN_IOASID_FD.
> 
> To my mind what makes sense that that /dev/ioasid presents a single
> IOMMU behavior that is basically the same. This may ultimately not be
> what we call a domain today.
> 
> We may end up with a middle object which is a group of domains that
> all have the same capabilities, and we define capabilities in a way
> that most platforms have a single group of domains.
> 
> The key capability of a group of domains is they can all share the HW
> page table representation, so if an IOASID instantiates a page table
> it can be assigned to any device on any domain in the gruop of domains.

Sorry that I didn't quite get it. If a group of domains can share the 
same page table then why not just attaching all devices under those
domains into a single domain? IMO the iommu domain is introduced
to describe the HW page table. Ideally a new iommu domain should
be created only when it's impossible to share an existing page table. 
Otherwise you'll get bad iotlb efficiency because each domain has its
unique domain id (tagged in iotlb) then duplicated iotlb entries may
exist even when a single page table is shared by those domains.

Then does it imply that you are actually suggesting /dev/ioasid associated 
with a single 2nd-level page table (which can be nested by multiple 
1st-level page tables represented by other ioasids) thus a single iommu 
domain for all devices linked to compatible IOMMUs?

Or, can you elaborate what is the targeted usage by having a group of
domains which all share the same page table?

> 
> If you try to say that /dev/ioasid has many domains and they can't
> have their HW page tables shared then I think the implementation
> complexity will explode.

Want to hear your opinion for one open here. There is no doubt that
an ioasid represents a HW page table when the table is constructed by 
userspace and then linked to the IOMMU through the bind/unbind
API. But I'm not very sure about whether an ioasid should represent 
the exact pgtable or the mapping metadata when the underlying 
pgtable is indirectly constructed through map/unmap API. VFIO does
the latter way, which is why it allows multiple incompatible domains
in a single container which all share the same mapping metadata.

> 
> > This does impose one burden to userspace though, to understand the
> > IOMMU compatibilities and figure out which incompatible features may
> > affect the page table management (while such knowledge is IOMMU
> > vendor specific) and then explicitly manage multiple /dev/ioasid's or
> > multiple gpa_ioasid_id's.
> 
> Right, this seems very hard in the general case..
> 
> > Alternatively is it a good design by having the kernel return error at
> > attach/join time to indicate that incompatibility is detected then the
> > userspace should open a new /dev/ioasid or creates a new gpa_ioasid_id
> > for the failing device upon such failure, w/o constructing its own
> > compatibility knowledge?
> 
> Yes, this feels workable too
> 
> > > This means qemue might have multiple /dev/ioasid's if the system has
> > > multiple incompatible IOMMUs (is this actually a thing?) The platform
> >
> > One example is Intel platform with igd. Typically there is one IOMMU
> > dedicated for igd and the other IOMMU serving all the remaining devices.
> > The igd IOMMU may not support IOMMU_CACHE while the other one
> > does.
> 
> If we can do as above the two domains may be in the same group of
> domains and the IOMMU_CACHE is not exposed at the /dev/ioasid level.
> 
> For instance the API could specifiy IOMMU_CACHE during attach, not
> during IOASID creation.
> 
> Getting all the data model right in the API is going to be trickiest
> part of this.
> 
> > yes, e.g. in vSVA both devices (behind divergence IOMMUs) are bound
> > to a single guest process which has an unique PASID and 1st-level page
> > table. Earlier incompatibility example is only for 2nd-level.
> 
> Because when we get to here, things become inscrutable as an API if
> you are trying to say two different IOMMU presentations can actually
> be nested.
> 
> > > Sure.. The tricky bit will be to define both of the common nested
> > > operating modes.
> > >
> > >   nested_ioasid = ioctl(ioasid_fd, CREATE_NESTED_IOASID,
> gpa_ioasid_id);
> > >   ioctl(ioasid_fd, SET_NESTED_IOASID_PAGE_TABLES, nested_ioasid, ..)
> > >
> > >    // IOMMU will match on the device RID, no PASID:
> > >   ioctl(vfio_device, ATTACH_IOASID, nested_ioasid);
> > >
> > >    // IOMMU will match on the device RID and PASID:
> > >   ioctl(vfio_device, ATTACH_IOASID_PASID, pasid, nested_ioasid);
> >
> > I'm a bit confused here why we have both pasid and ioasid notations
> together.
> > Why not use nested_ioasid as pasid directly (i.e. every pasid in nested
> mode
> > is created by CREATE_NESTED_IOASID)?
> 
> The IOASID is not a PASID, it is just a page table.
> 
> A generic IOMMU matches on either RID or (RID,PASID), so you should
> specify the PASID when establishing the match.
> 
> IOASID only specifies the page table.
> 
> So you read the above as configuring the path
> 
>   PCI_DEVICE -> (RID,PASID) -> nested_ioasid -> gpa_ioasid_id -> physical
> 
> Where (RID,PASID) indicate values taken from the PCI packet.
> 
> In principle the IOMMU could also be commanded to reuse the same
> ioasid page table with a different PASID:
> 
>   PCI_DEVICE_B -> (RID_B,PASID_B) -> nested_ioasid -> gpa_ioasid_id ->
> physical
> 
> This is impossible if the ioasid == PASID in the API.

OK, now I see where the disconnection comes from. In my context ioasid
is the identifier that is actually used in the wire, but seems you treat it as 
a sw-defined namespace purely for representing page tables. We should 
clear this concept first before further discussing other details. 😊

Below is the description when the kernel ioasid allocator was introduced:

--
commit fa83433c92e340822a056a610a4fa2063a3db304
Author: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
Date:   Wed Oct 2 12:42:41 2019 -0700

    iommu: Add I/O ASID allocator

    Some devices might support multiple DMA address spaces, in particular
    those that have the PCI PASID feature. PASID (Process Address Space ID)
    allows to share process address spaces with devices (SVA), partition a
    device into VM-assignable entities (VFIO mdev) or simply provide
    multiple DMA address space to kernel drivers. Add a global PASID
    allocator usable by different drivers at the same time. Name it I/O ASID
    to avoid confusion with ASIDs allocated by arch code, which are usually
    a separate ID space.

    The IOASID space is global. Each device can have its own PASID space,
    but by convention the IOMMU ended up having a global PASID space, so
    that with SVA, each mm_struct is associated to a single PASID.

    The allocator is primarily used by IOMMU subsystem but in rare occasions
    drivers would like to allocate PASIDs for devices that aren't managed by
    an IOMMU, using the same ID space as IOMMU.
--

ioasid and pasid are used interchangeably within the kernel, and the ioasid
value returned by the ioasid allocator is directly used as PASID when the
driver programs IOMMU and device, respectively. My context is based on 
this understanding, which is why I thought nested_ioasid can be directly 
used as PASID in earlier reply. Do you see a problem with this approach?

Then following your proposal, does it mean that we need another interface
for allocating PASID? and since ioasid means different thing in uAPI and
in-kernel API, possibly a new name is required to avoid confusion?

> 
> > Below I list different scenarios for ATTACH_IOASID in my view. Here
> > vfio_device could be a real PCI function (RID), or a subfunction device
> > (RID+def_ioasid).
> 
> What is RID+def_ioasid? The IOMMU does not match on IOASID's.
> 
> A subfunction device always need to use PASID, or an internal IOMMU,
> confused what you are trying to explain?

Here the def_ioasid is the PASID that is associated with the subfunction
in my context with above explanation.

> 
> > If the whole PASID table is delegated to the guest in ARM case, the guest
> > can select its own PASIDs w/o telling the hypervisor.
> 
> The hypervisor has to route the PASID's to the guest at some point - a
> guest can't just claim a PASID unilaterally, that would not be secure.
> 
> If it is not done with per-PASID hypercalls then the hypervisor has to
> route all PASID's for a RID to the guest and /dev/ioasid needs to have
> a nested IOASID object that represents this connection - ie it points
> to the PASID table of the guest vIOMMU or something.

yes, this might be the model that will work for ARM case. In their
architecture the PASID table locates in the GPA space thus naturally
to be managed by the guest (though Jean ever mentioned some
tricky method to allow the host managing it by stealing a GPA window).

> 
> Remember this all has to be compatible with mdev's too and without
> hypercalls to create PASIDs that will be hard: mdev sharing a RID and
> slicing the physical PASIDs can't support a 'send all PASIDs to the
> guest' model, or even a 'the guest gets to pick the PASID' option.
> 

yes, with mdev above is inevitable. I guess ARM may need some
similar extension in their SMMU as what VT-d provide for mdev
usage, e.g. at least not mandating PASID table in GPA space. But
before that they may still expect a way to delegate the whole
PASID space per RID to the guest.

Really lots of subtle differences to be generalized...

Thanks
Kevin

  reply	other threads:[~2021-04-25  9:24 UTC|newest]

Thread overview: 794+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-27 22:01 [PATCH V4 00/18] IOASID extensions for guest SVA Jacob Pan
2021-02-27 22:01 ` Jacob Pan
2021-02-27 22:01 ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 01/18] docs: Document IO Address Space ID (IOASID) APIs Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 02/18] iommu/ioasid: Rename ioasid_set_data() Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 03/18] iommu/ioasid: Add a separate function for detach data Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 04/18] iommu/ioasid: Support setting system-wide capacity Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 05/18] iommu/ioasid: Redefine IOASID set and allocation APIs Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-03-19  0:22   ` Jacob Pan
2021-03-19  0:22     ` Jacob Pan
2021-03-19  0:22     ` Jacob Pan
2021-03-19  9:58     ` Jean-Philippe Brucker
2021-03-19  9:58       ` Jean-Philippe Brucker
2021-03-19  9:58       ` Jean-Philippe Brucker
2021-03-19 12:46       ` Jason Gunthorpe
2021-03-19 12:46         ` Jason Gunthorpe
2021-03-19 12:46         ` Jason Gunthorpe
2021-03-19 13:41         ` Jean-Philippe Brucker
2021-03-19 13:41           ` Jean-Philippe Brucker
2021-03-19 13:41           ` Jean-Philippe Brucker
2021-03-19 13:54           ` Jason Gunthorpe
2021-03-19 13:54             ` Jason Gunthorpe
2021-03-19 13:54             ` Jason Gunthorpe
2021-03-19 18:22             ` Jacob Pan
2021-03-19 18:22               ` Jacob Pan
2021-03-19 18:22               ` Jacob Pan
2021-03-22  9:24               ` Jean-Philippe Brucker
2021-03-22  9:24                 ` Jean-Philippe Brucker
2021-03-22  9:24                 ` Jean-Philippe Brucker
2021-03-24 17:02                 ` Jacob Pan
2021-03-24 17:02                   ` Jacob Pan
2021-03-24 17:02                   ` Jacob Pan
2021-03-24 17:03                   ` Jason Gunthorpe
2021-03-24 17:03                     ` Jason Gunthorpe
2021-03-24 17:03                     ` Jason Gunthorpe
2021-03-24 22:12                     ` Jacob Pan
2021-03-24 22:12                       ` Jacob Pan
2021-03-24 22:12                       ` Jacob Pan
2021-03-25 10:21                       ` Jean-Philippe Brucker
2021-03-25 10:21                         ` Jean-Philippe Brucker
2021-03-25 10:21                         ` Jean-Philippe Brucker
2021-03-25 17:02                         ` Jacob Pan
2021-03-25 17:02                           ` Jacob Pan
2021-03-25 17:02                           ` Jacob Pan
2021-03-25 17:16                           ` Jason Gunthorpe
2021-03-25 17:16                             ` Jason Gunthorpe
2021-03-25 17:16                             ` Jason Gunthorpe
2021-03-25 18:23                             ` Jacob Pan
2021-03-25 18:23                               ` Jacob Pan
2021-03-25 18:23                               ` Jacob Pan
2021-03-26  8:06                             ` Jean-Philippe Brucker
2021-03-26  8:06                               ` Jean-Philippe Brucker
2021-03-26  8:06                               ` Jean-Philippe Brucker
2021-03-30 13:07                               ` Jason Gunthorpe
2021-03-30 13:07                                 ` Jason Gunthorpe
2021-03-30 13:07                                 ` Jason Gunthorpe
2021-03-30 13:42                                 ` Jean-Philippe Brucker
2021-03-30 13:42                                   ` Jean-Philippe Brucker
2021-03-30 13:42                                   ` Jean-Philippe Brucker
2021-03-30 13:46                                   ` Jason Gunthorpe
2021-03-30 13:46                                     ` Jason Gunthorpe
2021-03-30 13:46                                     ` Jason Gunthorpe
2021-03-25 10:26                   ` Jean-Philippe Brucker
2021-03-25 10:26                     ` Jean-Philippe Brucker
2021-03-25 10:26                     ` Jean-Philippe Brucker
2021-03-22 12:03               ` Jason Gunthorpe
2021-03-22 12:03                 ` Jason Gunthorpe
2021-03-22 12:03                 ` Jason Gunthorpe
2021-03-24 19:05                 ` Jacob Pan
2021-03-24 19:05                   ` Jacob Pan
2021-03-24 19:05                   ` Jacob Pan
2021-03-29 16:31                   ` Jason Gunthorpe
2021-03-29 16:31                     ` Jason Gunthorpe
2021-03-29 16:31                     ` Jason Gunthorpe
2021-03-29 22:55                     ` Jacob Pan
2021-03-29 22:55                       ` Jacob Pan
2021-03-29 22:55                       ` Jacob Pan
2021-03-30 13:43                       ` Jason Gunthorpe
2021-03-30 13:43                         ` Jason Gunthorpe
2021-03-30 13:43                         ` Jason Gunthorpe
2021-03-31  0:10                         ` Jacob Pan
2021-03-31  0:10                           ` Jacob Pan
2021-03-31  0:10                           ` Jacob Pan
2021-03-31 12:28                           ` Jason Gunthorpe
2021-03-31 12:28                             ` Jason Gunthorpe
2021-03-31 12:28                             ` Jason Gunthorpe
2021-03-31 16:34                             ` Jacob Pan
2021-03-31 16:34                               ` Jacob Pan
2021-03-31 16:34                               ` Jacob Pan
2021-03-31 17:31                               ` Jason Gunthorpe
2021-03-31 17:31                                 ` Jason Gunthorpe
2021-03-31 17:31                                 ` Jason Gunthorpe
2021-03-31 18:20                                 ` Jacob Pan
2021-03-31 18:20                                   ` Jacob Pan
2021-03-31 18:20                                   ` Jacob Pan
2021-03-31 18:33                                   ` Jason Gunthorpe
2021-03-31 18:33                                     ` Jason Gunthorpe
2021-03-31 18:33                                     ` Jason Gunthorpe
2021-03-31 21:50                                     ` Jacob Pan
2021-03-31 21:50                                       ` Jacob Pan
2021-03-31 21:50                                       ` Jacob Pan
2021-03-31  8:38                         ` Liu, Yi L
2021-03-31  8:38                           ` Liu, Yi L
2021-03-31  8:38                           ` Liu, Yi L
2021-03-30  1:37                     ` Tian, Kevin
2021-03-30  1:37                       ` Tian, Kevin
2021-03-30  1:37                       ` Tian, Kevin
2021-03-30 13:28                       ` Jason Gunthorpe
2021-03-30 13:28                         ` Jason Gunthorpe
2021-03-30 13:28                         ` Jason Gunthorpe
2021-03-31  7:38                         ` Liu, Yi L
2021-03-31  7:38                           ` Liu, Yi L
2021-03-31  7:38                           ` Liu, Yi L
2021-03-31 12:40                           ` Jason Gunthorpe
2021-03-31 12:40                             ` Jason Gunthorpe
2021-03-31 12:40                             ` Jason Gunthorpe
2021-04-01  4:38                             ` Liu, Yi L
2021-04-01  4:38                               ` Liu, Yi L
2021-04-01  4:38                               ` Liu, Yi L
2021-04-01  7:04                               ` Liu, Yi L
2021-04-01  7:04                                 ` Liu, Yi L
2021-04-01  7:04                                 ` Liu, Yi L
2021-04-01 11:54                                 ` Jason Gunthorpe
2021-04-01 11:54                                   ` Jason Gunthorpe
2021-04-01 11:54                                   ` Jason Gunthorpe
2021-04-02 12:46                                   ` Liu, Yi L
2021-04-02 12:46                                     ` Liu, Yi L
2021-04-02 12:46                                     ` Liu, Yi L
2021-04-01 12:05                                 ` Jean-Philippe Brucker
2021-04-01 12:05                                   ` Jean-Philippe Brucker
2021-04-01 12:05                                   ` Jean-Philippe Brucker
2021-04-01 12:12                                   ` Jason Gunthorpe
2021-04-01 12:12                                     ` Jason Gunthorpe
2021-04-01 12:12                                     ` Jason Gunthorpe
2021-04-01 13:38                                   ` Liu, Yi L
2021-04-01 13:38                                     ` Liu, Yi L
2021-04-01 13:38                                     ` Liu, Yi L
2021-04-01 13:42                                     ` Jason Gunthorpe
2021-04-01 13:42                                       ` Jason Gunthorpe
2021-04-01 13:42                                       ` Jason Gunthorpe
2021-04-01 14:08                                       ` Liu, Yi L
2021-04-01 14:08                                         ` Liu, Yi L
2021-04-01 14:08                                         ` Liu, Yi L
2021-04-01 16:03                                         ` Jason Gunthorpe
2021-04-01 16:03                                           ` Jason Gunthorpe
2021-04-01 16:03                                           ` Jason Gunthorpe
2021-04-02  7:30                                           ` Tian, Kevin
2021-04-02  7:30                                             ` Tian, Kevin
2021-04-02  7:30                                             ` Tian, Kevin
2021-04-05 23:35                                             ` Jason Gunthorpe
2021-04-05 23:35                                               ` Jason Gunthorpe
2021-04-05 23:35                                               ` Jason Gunthorpe
2021-04-06  0:37                                               ` Tian, Kevin
2021-04-06  0:37                                                 ` Tian, Kevin
2021-04-06  0:37                                                 ` Tian, Kevin
2021-04-06 12:15                                                 ` Jason Gunthorpe
2021-04-06 12:15                                                   ` Jason Gunthorpe
2021-04-06 12:15                                                   ` Jason Gunthorpe
2021-04-15 13:11                                           ` Auger Eric
2021-04-15 13:11                                             ` Auger Eric
2021-04-15 23:07                                             ` Jason Gunthorpe
2021-04-15 23:07                                               ` Jason Gunthorpe
2021-04-15 23:07                                               ` Jason Gunthorpe
2021-04-16 13:12                                               ` Jacob Pan
2021-04-16 13:12                                                 ` Jacob Pan
2021-04-16 13:12                                                 ` Jacob Pan
2021-04-16 15:45                                                 ` Alex Williamson
2021-04-16 15:45                                                   ` Alex Williamson
2021-04-16 17:23                                                   ` Jacob Pan
2021-04-16 17:23                                                     ` Jacob Pan
2021-04-16 17:23                                                     ` Jacob Pan
2021-04-16 17:54                                                     ` Jason Gunthorpe
2021-04-16 17:54                                                       ` Jason Gunthorpe
2021-04-16 17:54                                                       ` Jason Gunthorpe
2021-04-21 13:18                                                   ` Liu, Yi L
2021-04-21 13:18                                                     ` Liu, Yi L
2021-04-21 13:18                                                     ` Liu, Yi L
2021-04-21 16:23                                                     ` Jason Gunthorpe
2021-04-21 16:23                                                       ` Jason Gunthorpe
2021-04-21 16:23                                                       ` Jason Gunthorpe
2021-04-21 16:54                                                       ` Alex Williamson
2021-04-21 16:54                                                         ` Alex Williamson
2021-04-21 17:52                                                         ` Jason Gunthorpe
2021-04-21 17:52                                                           ` Jason Gunthorpe
2021-04-21 17:52                                                           ` Jason Gunthorpe
2021-04-21 19:33                                                           ` Alex Williamson
2021-04-21 19:33                                                             ` Alex Williamson
2021-04-21 19:33                                                             ` Alex Williamson
2021-04-21 23:03                                                             ` Jason Gunthorpe
2021-04-21 23:03                                                               ` Jason Gunthorpe
2021-04-21 23:03                                                               ` Jason Gunthorpe
2021-04-22  8:34                                                               ` Tian, Kevin
2021-04-22  8:34                                                                 ` Tian, Kevin
2021-04-22  8:34                                                                 ` Tian, Kevin
2021-04-22 12:10                                                                 ` Jason Gunthorpe
2021-04-22 12:10                                                                   ` Jason Gunthorpe
2021-04-23  9:06                                                                   ` Tian, Kevin
2021-04-23  9:06                                                                     ` Tian, Kevin
2021-04-23  9:06                                                                     ` Tian, Kevin
2021-04-23 11:49                                                                     ` Jason Gunthorpe
2021-04-23 11:49                                                                       ` Jason Gunthorpe
2021-04-25  9:24                                                                       ` Tian, Kevin [this message]
2021-04-25  9:24                                                                         ` Tian, Kevin
2021-04-25  9:24                                                                         ` Tian, Kevin
2021-04-26 12:38                                                                         ` Jason Gunthorpe
2021-04-26 12:38                                                                           ` Jason Gunthorpe
2021-04-26 12:38                                                                           ` Jason Gunthorpe
2021-04-28  6:34                                                                           ` Tian, Kevin
2021-04-28  6:34                                                                             ` Tian, Kevin
2021-04-28  6:34                                                                             ` Tian, Kevin
2021-04-28 15:06                                                                             ` Alex Williamson
2021-04-28 15:06                                                                               ` Alex Williamson
2021-05-07  7:36                                                                               ` Tian, Kevin
2021-05-07  7:36                                                                                 ` Tian, Kevin
2021-05-07  7:36                                                                                 ` Tian, Kevin
2021-05-07 11:56                                                                                 ` Jason Gunthorpe
2021-05-07 11:56                                                                                   ` Jason Gunthorpe
2021-05-07 11:56                                                                                   ` Jason Gunthorpe
2021-05-07 17:06                                                                                 ` Alex Williamson
2021-05-07 17:06                                                                                   ` Alex Williamson
2021-05-07 17:06                                                                                   ` Alex Williamson
2021-05-07 17:10                                                                                   ` Jason Gunthorpe
2021-05-07 17:10                                                                                     ` Jason Gunthorpe
2021-05-07 17:10                                                                                     ` Jason Gunthorpe
2021-05-08  6:08                                                                                     ` Tian, Kevin
2021-05-08  6:08                                                                                       ` Tian, Kevin
2021-05-08  7:31                                                                                   ` Tian, Kevin
2021-05-08  7:31                                                                                     ` Tian, Kevin
2021-05-08  7:31                                                                                     ` Tian, Kevin
2021-05-10  2:56                                                                                     ` Lu Baolu
2021-05-10  2:56                                                                                       ` Lu Baolu
2021-05-10  2:56                                                                                       ` Lu Baolu
2021-04-28 20:46                                                                             ` Jason Gunthorpe
2021-04-28 20:46                                                                               ` Jason Gunthorpe
2021-04-28 20:46                                                                               ` Jason Gunthorpe
2021-05-04 16:22                                                                               ` Jacob Pan
2021-05-04 16:22                                                                                 ` Jacob Pan
2021-05-04 16:22                                                                                 ` Jacob Pan
2021-05-04 16:31                                                                                 ` Jason Gunthorpe
2021-05-04 16:31                                                                                   ` Jason Gunthorpe
2021-05-04 16:31                                                                                   ` Jason Gunthorpe
2021-05-08  5:46                                                                               ` Tian, Kevin
2021-05-08  5:46                                                                                 ` Tian, Kevin
2021-05-08  5:46                                                                                 ` Tian, Kevin
2021-05-04 15:41                                                                             ` Jacob Pan
2021-05-04 15:41                                                                               ` Jacob Pan
2021-05-04 15:41                                                                               ` Jacob Pan
2021-05-04 18:00                                                                               ` Jason Gunthorpe
2021-05-04 18:00                                                                                 ` Jason Gunthorpe
2021-05-04 18:00                                                                                 ` Jason Gunthorpe
2021-05-04 22:11                                                                                 ` Jacob Pan
2021-05-04 22:11                                                                                   ` Jacob Pan
2021-05-04 22:11                                                                                   ` Jacob Pan
2021-05-04 23:15                                                                                   ` Jason Gunthorpe
2021-05-04 23:15                                                                                     ` Jason Gunthorpe
2021-05-04 23:15                                                                                     ` Jason Gunthorpe
2021-05-05 17:22                                                                                     ` Jacob Pan
2021-05-05 17:22                                                                                       ` Jacob Pan
2021-05-05 17:22                                                                                       ` Jacob Pan
2021-05-05 18:00                                                                                       ` Jason Gunthorpe
2021-05-05 18:00                                                                                         ` Jason Gunthorpe
2021-05-05 18:00                                                                                         ` Jason Gunthorpe
2021-05-05 20:04                                                                                         ` Jacob Pan
2021-05-05 20:04                                                                                           ` Jacob Pan
2021-05-05 20:04                                                                                           ` Jacob Pan
2021-05-05 22:21                                                                                           ` Jason Gunthorpe
2021-05-05 22:21                                                                                             ` Jason Gunthorpe
2021-05-05 22:21                                                                                             ` Jason Gunthorpe
2021-05-05 23:23                                                                                             ` Raj, Ashok
2021-05-05 23:23                                                                                               ` Raj, Ashok
2021-05-05 23:23                                                                                               ` Raj, Ashok
2021-05-06 12:22                                                                                               ` Jason Gunthorpe
2021-05-06 12:22                                                                                                 ` Jason Gunthorpe
2021-05-06 12:22                                                                                                 ` Jason Gunthorpe
2021-05-08  7:06                                                                                             ` Liu Yi L
2021-05-08  7:06                                                                                               ` Liu Yi L
2021-05-08  7:06                                                                                               ` Liu Yi L
2021-05-06  7:23                                                                                           ` Jean-Philippe Brucker
2021-05-06  7:23                                                                                             ` Jean-Philippe Brucker
2021-05-06  7:23                                                                                             ` Jean-Philippe Brucker
2021-05-06 12:27                                                                                             ` Jason Gunthorpe
2021-05-06 12:27                                                                                               ` Jason Gunthorpe
2021-05-06 12:27                                                                                               ` Jason Gunthorpe
2021-05-06 16:32                                                                                               ` Raj, Ashok
2021-05-06 16:32                                                                                                 ` Raj, Ashok
2021-05-06 16:32                                                                                                 ` Raj, Ashok
2021-05-07 17:20                                                                                                 ` Jason Gunthorpe
2021-05-07 17:20                                                                                                   ` Jason Gunthorpe
2021-05-07 17:20                                                                                                   ` Jason Gunthorpe
2021-05-07 18:14                                                                                                   ` Raj, Ashok
2021-05-07 18:14                                                                                                     ` Raj, Ashok
2021-05-07 18:14                                                                                                     ` Raj, Ashok
2021-05-07 18:20                                                                                                     ` Jason Gunthorpe
2021-05-07 18:20                                                                                                       ` Jason Gunthorpe
2021-05-07 18:20                                                                                                       ` Jason Gunthorpe
2021-05-07 19:23                                                                                                       ` Raj, Ashok
2021-05-07 19:23                                                                                                         ` Raj, Ashok
2021-05-07 19:23                                                                                                         ` Raj, Ashok
2021-05-07 19:28                                                                                                         ` Jason Gunthorpe
2021-05-07 19:28                                                                                                           ` Jason Gunthorpe
2021-05-07 19:28                                                                                                           ` Jason Gunthorpe
2021-05-07 22:15                                                                                                           ` Jacob Pan
2021-05-07 22:15                                                                                                             ` Jacob Pan
2021-05-07 22:15                                                                                                             ` Jacob Pan
2021-05-08  9:56                                                                                                 ` Tian, Kevin
2021-05-08  9:56                                                                                                   ` Tian, Kevin
2021-05-08  9:56                                                                                                   ` Tian, Kevin
2021-05-10 12:37                                                                                                   ` Jason Gunthorpe
2021-05-10 12:37                                                                                                     ` Jason Gunthorpe
2021-05-10 12:37                                                                                                     ` Jason Gunthorpe
2021-05-10 15:25                                                                                                     ` Raj, Ashok
2021-05-10 15:25                                                                                                       ` Raj, Ashok
2021-05-10 15:25                                                                                                       ` Raj, Ashok
2021-05-10 15:31                                                                                                       ` Jason Gunthorpe
2021-05-10 15:31                                                                                                         ` Jason Gunthorpe
2021-05-10 15:31                                                                                                         ` Jason Gunthorpe
2021-05-10 16:22                                                                                                         ` Raj, Ashok
2021-05-10 16:22                                                                                                           ` Raj, Ashok
2021-05-10 16:22                                                                                                           ` Raj, Ashok
2021-05-10 16:39                                                                                                           ` Jason Gunthorpe
2021-05-10 16:39                                                                                                             ` Jason Gunthorpe
2021-05-10 16:39                                                                                                             ` Jason Gunthorpe
2021-05-10 22:28                                                                                                             ` Jacob Pan
2021-05-10 22:28                                                                                                               ` Jacob Pan
2021-05-10 22:28                                                                                                               ` Jacob Pan
2021-05-10 23:45                                                                                                               ` Jason Gunthorpe
2021-05-10 23:45                                                                                                                 ` Jason Gunthorpe
2021-05-10 23:45                                                                                                                 ` Jason Gunthorpe
2021-05-11  3:56                                                                                                                 ` Jacob Pan
2021-05-11  3:56                                                                                                                   ` Jacob Pan
2021-05-11  3:56                                                                                                                   ` Jacob Pan
2021-05-11  9:10                                                                                                     ` Tian, Kevin
2021-05-11  9:10                                                                                                       ` Tian, Kevin
2021-05-11  9:10                                                                                                       ` Tian, Kevin
2021-05-11 13:24                                                                                                       ` Liu Yi L
2021-05-11 13:24                                                                                                         ` Liu Yi L
2021-05-11 13:24                                                                                                         ` Liu Yi L
2021-05-11 22:52                                                                                                         ` Tian, Kevin
2021-05-11 22:52                                                                                                           ` Tian, Kevin
2021-05-11 22:52                                                                                                           ` Tian, Kevin
2021-05-11 14:38                                                                                                       ` Jason Gunthorpe
2021-05-11 14:38                                                                                                         ` Jason Gunthorpe
2021-05-11 14:38                                                                                                         ` Jason Gunthorpe
2021-05-11 22:51                                                                                                         ` Tian, Kevin
2021-05-11 22:51                                                                                                           ` Tian, Kevin
2021-05-11 22:51                                                                                                           ` Tian, Kevin
2021-05-11 23:39                                                                                                           ` Jason Gunthorpe
2021-05-11 23:39                                                                                                             ` Jason Gunthorpe
2021-05-12  0:21                                                                                                             ` Tian, Kevin
2021-05-12  0:21                                                                                                               ` Tian, Kevin
2021-05-12  0:21                                                                                                               ` Tian, Kevin
2021-05-12  0:25                                                                                                               ` Jason Gunthorpe
2021-05-12  0:25                                                                                                                 ` Jason Gunthorpe
2021-05-12  0:40                                                                                                                 ` Tian, Kevin
2021-05-12  0:40                                                                                                                   ` Tian, Kevin
2021-05-12  0:40                                                                                                                   ` Tian, Kevin
2021-04-29  8:54                                                                       ` Auger Eric
2021-04-29  8:54                                                                         ` Auger Eric
2021-04-29  8:54                                                                         ` Auger Eric
2021-04-29  8:55                                                                   ` Auger Eric
2021-04-29  8:55                                                                     ` Auger Eric
2021-04-29  8:55                                                                     ` Auger Eric
2021-04-29 13:26                                                                   ` Auger Eric
2021-04-29 13:26                                                                     ` Auger Eric
2021-04-29 13:26                                                                     ` Auger Eric
2021-04-29 20:04                                                                     ` Jason Gunthorpe
2021-04-29 20:04                                                                       ` Jason Gunthorpe
2021-04-29 20:04                                                                       ` Jason Gunthorpe
2021-05-05  9:10                                                                       ` Auger Eric
2021-05-05  9:10                                                                         ` Auger Eric
2021-05-05  9:10                                                                         ` Auger Eric
2021-04-22 17:13                                                               ` Alex Williamson
2021-04-22 17:13                                                                 ` Alex Williamson
2021-04-22 17:13                                                                 ` Alex Williamson
2021-04-22 17:57                                                                 ` Jason Gunthorpe
2021-04-22 17:57                                                                   ` Jason Gunthorpe
2021-04-22 17:57                                                                   ` Jason Gunthorpe
2021-04-22 19:37                                                                   ` Alex Williamson
2021-04-22 19:37                                                                     ` Alex Williamson
2021-04-22 19:37                                                                     ` Alex Williamson
2021-04-22 20:00                                                                     ` Jason Gunthorpe
2021-04-22 20:00                                                                       ` Jason Gunthorpe
2021-04-22 20:00                                                                       ` Jason Gunthorpe
2021-04-22 22:38                                                                       ` Alex Williamson
2021-04-22 22:38                                                                         ` Alex Williamson
2021-04-22 22:38                                                                         ` Alex Williamson
2021-04-22 23:39                                                                         ` Jason Gunthorpe
2021-04-22 23:39                                                                           ` Jason Gunthorpe
2021-04-22 23:39                                                                           ` Jason Gunthorpe
2021-04-23 10:31                                                                           ` Tian, Kevin
2021-04-23 10:31                                                                             ` Tian, Kevin
2021-04-23 10:31                                                                             ` Tian, Kevin
2021-04-23 11:57                                                                             ` Jason Gunthorpe
2021-04-23 11:57                                                                               ` Jason Gunthorpe
2021-04-23 11:57                                                                               ` Jason Gunthorpe
2021-04-27  5:11                                                                             ` David Gibson
2021-04-27  5:11                                                                               ` David Gibson
2021-04-27  5:11                                                                               ` David Gibson
2021-04-27 16:39                                                                               ` Jason Gunthorpe
2021-04-27 16:39                                                                                 ` Jason Gunthorpe
2021-04-27 16:39                                                                                 ` Jason Gunthorpe
2021-04-28  0:49                                                                                 ` David Gibson
2021-04-28  0:49                                                                                   ` David Gibson
2021-04-28  0:49                                                                                   ` David Gibson
2021-04-23 16:38                                                                           ` Alex Williamson
2021-04-23 16:38                                                                             ` Alex Williamson
2021-04-23 16:38                                                                             ` Alex Williamson
2021-04-23 22:28                                                                             ` Jason Gunthorpe
2021-04-23 22:28                                                                               ` Jason Gunthorpe
2021-04-23 22:28                                                                               ` Jason Gunthorpe
2021-04-27  5:15                                                                               ` David Gibson
2021-04-27  5:15                                                                                 ` David Gibson
2021-04-27  5:15                                                                                 ` David Gibson
2021-04-27  5:08                                                                           ` David Gibson
2021-04-27  5:08                                                                             ` David Gibson
2021-04-27  5:08                                                                             ` David Gibson
2021-04-27 17:12                                                                             ` Jason Gunthorpe
2021-04-27 17:12                                                                               ` Jason Gunthorpe
2021-04-27 17:12                                                                               ` Jason Gunthorpe
2021-04-28  0:58                                                                               ` David Gibson
2021-04-28  0:58                                                                                 ` David Gibson
2021-04-28  0:58                                                                                 ` David Gibson
2021-04-28 14:56                                                                                 ` Jason Gunthorpe
2021-04-28 14:56                                                                                   ` Jason Gunthorpe
2021-04-28 14:56                                                                                   ` Jason Gunthorpe
2021-04-29  3:04                                                                                   ` David Gibson
2021-04-29  3:04                                                                                     ` David Gibson
2021-04-29  3:04                                                                                     ` David Gibson
2021-05-03 16:15                                                                                     ` Jason Gunthorpe
2021-05-03 16:15                                                                                       ` Jason Gunthorpe
2021-05-03 16:15                                                                                       ` Jason Gunthorpe
2021-05-13  5:48                                                                                       ` David Gibson
2021-05-13  5:48                                                                                         ` David Gibson
2021-05-13  5:48                                                                                         ` David Gibson
2021-05-13 13:59                                                                                         ` Jason Gunthorpe
2021-05-13 13:59                                                                                           ` Jason Gunthorpe
2021-05-13 13:59                                                                                           ` Jason Gunthorpe
2021-05-24  7:52                                                                                           ` David Gibson
2021-05-24  7:52                                                                                             ` David Gibson
2021-05-24  7:52                                                                                             ` David Gibson
2021-05-24 23:37                                                                                             ` Jason Gunthorpe
2021-05-24 23:37                                                                                               ` Jason Gunthorpe
2021-05-24 23:37                                                                                               ` Jason Gunthorpe
2021-05-25 19:26                                                                                               ` Kirti Wankhede
2021-05-25 19:26                                                                                                 ` Kirti Wankhede
2021-05-25 19:26                                                                                                 ` Kirti Wankhede
2021-05-25 19:52                                                                                                 ` Jason Gunthorpe
2021-05-25 19:52                                                                                                   ` Jason Gunthorpe
2021-05-25 19:52                                                                                                   ` Jason Gunthorpe
2021-05-25 21:18                                                                                                   ` Kirti Wankhede
2021-05-25 21:18                                                                                                     ` Kirti Wankhede
2021-05-25 21:18                                                                                                     ` Kirti Wankhede
2021-05-27  5:00                                                                                                     ` David Gibson
2021-05-27  5:00                                                                                                       ` David Gibson
2021-05-27  5:00                                                                                                       ` David Gibson
2021-05-27 18:25                                                                                                       ` Kirti Wankhede
2021-05-27 18:25                                                                                                         ` Kirti Wankhede
2021-05-27 18:25                                                                                                         ` Kirti Wankhede
2021-06-01  3:45                                                                                                         ` David Gibson
2021-06-01  3:45                                                                                                           ` David Gibson
2021-06-01  3:45                                                                                                           ` David Gibson
2021-05-27  4:58                                                                                                   ` David Gibson
2021-05-27  4:58                                                                                                     ` David Gibson
2021-05-27  4:58                                                                                                     ` David Gibson
2021-05-27 18:48                                                                                                     ` Jason Gunthorpe
2021-05-27 18:48                                                                                                       ` Jason Gunthorpe
2021-05-27 18:48                                                                                                       ` Jason Gunthorpe
2021-06-01  4:03                                                                                                       ` David Gibson
2021-06-01  4:03                                                                                                         ` David Gibson
2021-06-01  4:03                                                                                                         ` David Gibson
2021-06-01 12:57                                                                                                         ` Jason Gunthorpe
2021-06-01 12:57                                                                                                           ` Jason Gunthorpe
2021-06-01 12:57                                                                                                           ` Jason Gunthorpe
2021-06-08  0:44                                                                                                           ` David Gibson
2021-06-08  0:44                                                                                                             ` David Gibson
2021-06-08  0:44                                                                                                             ` David Gibson
2021-06-08 18:34                                                                                                             ` Jason Gunthorpe
2021-06-08 18:34                                                                                                               ` Jason Gunthorpe
2021-06-08 18:34                                                                                                               ` Jason Gunthorpe
2021-05-25 22:52                                                                                                 ` Alex Williamson
2021-05-25 22:52                                                                                                   ` Alex Williamson
2021-05-25 22:52                                                                                                   ` Alex Williamson
2021-05-26 18:10                                                                                                   ` Kirti Wankhede
2021-05-26 18:10                                                                                                     ` Kirti Wankhede
2021-05-26 18:10                                                                                                     ` Kirti Wankhede
2021-05-26 18:59                                                                                                     ` Alex Williamson
2021-05-26 18:59                                                                                                       ` Alex Williamson
2021-05-26 18:59                                                                                                       ` Alex Williamson
2021-05-26 19:13                                                                                                       ` Jason Gunthorpe
2021-05-26 19:13                                                                                                         ` Jason Gunthorpe
2021-05-26 19:13                                                                                                         ` Jason Gunthorpe
2021-05-27  4:53                                                                                               ` David Gibson
2021-05-27  4:53                                                                                                 ` David Gibson
2021-05-27  4:53                                                                                                 ` David Gibson
2021-05-27 19:06                                                                                                 ` Jason Gunthorpe
2021-05-27 19:06                                                                                                   ` Jason Gunthorpe
2021-05-27 19:06                                                                                                   ` Jason Gunthorpe
2021-06-01  4:27                                                                                                   ` David Gibson
2021-06-01  4:27                                                                                                     ` David Gibson
2021-06-01  4:27                                                                                                     ` David Gibson
2021-04-28  6:58                                                                               ` Tian, Kevin
2021-04-28  6:58                                                                                 ` Tian, Kevin
2021-04-28  6:58                                                                                 ` Tian, Kevin
2021-05-04 17:12                                                                                 ` Jason Gunthorpe
2021-05-04 17:12                                                                                   ` Jason Gunthorpe
2021-05-04 17:12                                                                                   ` Jason Gunthorpe
2021-05-07  8:09                                                                                   ` Tian, Kevin
2021-05-07  8:09                                                                                     ` Tian, Kevin
2021-05-07  8:09                                                                                     ` Tian, Kevin
2021-04-28  7:47                                                                               ` Tian, Kevin
2021-04-28  7:47                                                                                 ` Tian, Kevin
2021-04-28  7:47                                                                                 ` Tian, Kevin
2021-04-28 18:41                                                                                 ` Jason Gunthorpe
2021-04-28 18:41                                                                                   ` Jason Gunthorpe
2021-04-28 18:41                                                                                   ` Jason Gunthorpe
2021-04-27  4:50                                                                 ` David Gibson
2021-04-27  4:50                                                                   ` David Gibson
2021-04-27  4:50                                                                   ` David Gibson
2021-04-27 17:24                                                                   ` Jason Gunthorpe
2021-04-27 17:24                                                                     ` Jason Gunthorpe
2021-04-27 17:24                                                                     ` Jason Gunthorpe
2021-04-28  1:23                                                                     ` David Gibson
2021-04-28  1:23                                                                       ` David Gibson
2021-04-28  1:23                                                                       ` David Gibson
2021-04-29  0:21                                                                       ` Jason Gunthorpe
2021-04-29  0:21                                                                         ` Jason Gunthorpe
2021-04-29  0:21                                                                         ` Jason Gunthorpe
2021-04-29  3:20                                                                         ` David Gibson
2021-04-29  3:20                                                                           ` David Gibson
2021-04-29  3:20                                                                           ` David Gibson
2021-05-03 16:05                                                                           ` Jason Gunthorpe
2021-05-03 16:05                                                                             ` Jason Gunthorpe
2021-05-03 16:05                                                                             ` Jason Gunthorpe
2021-05-04  3:54                                                                             ` David Gibson
2021-05-04  3:54                                                                               ` David Gibson
2021-05-04  3:54                                                                               ` David Gibson
2021-05-04 18:15                                                                               ` Jason Gunthorpe
2021-05-04 18:15                                                                                 ` Jason Gunthorpe
2021-05-04 18:15                                                                                 ` Jason Gunthorpe
2021-05-05  4:28                                                                                 ` Alexey Kardashevskiy
2021-05-05  4:28                                                                                   ` Alexey Kardashevskiy
2021-05-05  4:28                                                                                   ` Alexey Kardashevskiy
2021-05-05 16:39                                                                                   ` Jason Gunthorpe
2021-05-05 16:39                                                                                     ` Jason Gunthorpe
2021-05-05 16:39                                                                                     ` Jason Gunthorpe
2021-05-13  6:07                                                                                     ` David Gibson
2021-05-13  6:07                                                                                       ` David Gibson
2021-05-13  6:07                                                                                       ` David Gibson
2021-05-13 13:50                                                                                       ` Jason Gunthorpe
2021-05-13 13:50                                                                                         ` Jason Gunthorpe
2021-05-13 13:50                                                                                         ` Jason Gunthorpe
2021-05-24  7:56                                                                                         ` David Gibson
2021-05-24  7:56                                                                                           ` David Gibson
2021-05-24  7:56                                                                                           ` David Gibson
2021-05-13  6:01                                                                                 ` David Gibson
2021-05-13  6:01                                                                                   ` David Gibson
2021-05-13  6:01                                                                                   ` David Gibson
2021-05-13  6:52                                                                                   ` Tian, Kevin
2021-05-13  6:52                                                                                     ` Tian, Kevin
2021-05-13  6:52                                                                                     ` Tian, Kevin
2021-05-13 13:47                                                                                   ` Jason Gunthorpe
2021-05-13 13:47                                                                                     ` Jason Gunthorpe
2021-05-13 13:47                                                                                     ` Jason Gunthorpe
2021-04-22 12:55                                                             ` Liu Yi L
2021-04-22 12:55                                                               ` Liu Yi L
2021-04-16 13:38                                               ` Auger Eric
2021-04-16 13:38                                                 ` Auger Eric
2021-04-16 13:38                                                 ` Auger Eric
2021-04-16 14:05                                                 ` Jason Gunthorpe
2021-04-16 14:05                                                   ` Jason Gunthorpe
2021-04-16 14:05                                                   ` Jason Gunthorpe
2021-04-16 14:26                                                   ` Auger Eric
2021-04-16 14:26                                                     ` Auger Eric
2021-04-16 14:26                                                     ` Auger Eric
2021-04-16 14:34                                                     ` Jason Gunthorpe
2021-04-16 14:34                                                       ` Jason Gunthorpe
2021-04-16 14:34                                                       ` Jason Gunthorpe
2021-04-16 15:00                                                       ` Auger Eric
2021-04-16 15:00                                                         ` Auger Eric
2021-04-16 15:00                                                         ` Auger Eric
2021-04-01 11:46                               ` Jason Gunthorpe
2021-04-01 11:46                                 ` Jason Gunthorpe
2021-04-01 11:46                                 ` Jason Gunthorpe
2021-04-01 13:10                                 ` Liu, Yi L
2021-04-01 13:10                                   ` Liu, Yi L
2021-04-01 13:10                                   ` Liu, Yi L
2021-04-01 13:15                                   ` Jason Gunthorpe
2021-04-01 13:15                                     ` Jason Gunthorpe
2021-04-01 13:15                                     ` Jason Gunthorpe
2021-04-01 13:43                                     ` Liu, Yi L
2021-04-01 13:43                                       ` Liu, Yi L
2021-04-01 13:43                                       ` Liu, Yi L
2021-04-01 13:46                                       ` Jason Gunthorpe
2021-04-01 13:46                                         ` Jason Gunthorpe
2021-04-01 13:46                                         ` Jason Gunthorpe
2021-04-02  7:58                                         ` Tian, Kevin
2021-04-02  7:58                                           ` Tian, Kevin
2021-04-02  7:58                                           ` Tian, Kevin
2021-04-05 23:39                                           ` Jason Gunthorpe
2021-04-05 23:39                                             ` Jason Gunthorpe
2021-04-05 23:39                                             ` Jason Gunthorpe
2021-04-06  1:02                                             ` Tian, Kevin
2021-04-06  1:02                                               ` Tian, Kevin
2021-04-06  1:02                                               ` Tian, Kevin
2021-04-06 12:21                                               ` Jason Gunthorpe
2021-04-06 12:21                                                 ` Jason Gunthorpe
2021-04-06 12:21                                                 ` Jason Gunthorpe
2021-04-07  2:23                                                 ` Tian, Kevin
2021-04-07  2:23                                                   ` Tian, Kevin
2021-04-07  2:23                                                   ` Tian, Kevin
     [not found]                                             ` <MWHPR11MB188628BDB37A4EE36F3D99338C769@MWHPR11MB1886.namprd11.prod.outlook.com>
2021-04-06  2:08                                               ` Tian, Kevin
2021-04-06  2:08                                                 ` Tian, Kevin
2021-04-06  2:08                                                 ` Tian, Kevin
2021-04-02 10:01                                         ` Tian, Kevin
2021-04-02 10:01                                           ` Tian, Kevin
2021-04-02 10:01                                           ` Tian, Kevin
2021-04-02  8:22                         ` Tian, Kevin
2021-04-02  8:22                           ` Tian, Kevin
2021-04-02  8:22                           ` Tian, Kevin
2021-04-05 23:42                           ` Jason Gunthorpe
2021-04-05 23:42                             ` Jason Gunthorpe
2021-04-05 23:42                             ` Jason Gunthorpe
2021-04-06  1:27                             ` Tian, Kevin
2021-04-06  1:27                               ` Tian, Kevin
2021-04-06  1:27                               ` Tian, Kevin
2021-04-06 12:34                               ` Jason Gunthorpe
2021-04-06 12:34                                 ` Jason Gunthorpe
2021-04-07  2:08                                 ` Tian, Kevin
2021-04-07  2:08                                   ` Tian, Kevin
2021-04-07  2:08                                   ` Tian, Kevin
2021-04-07 12:20                                   ` Jason Gunthorpe
2021-04-07 12:20                                     ` Jason Gunthorpe
2021-04-07 12:20                                     ` Jason Gunthorpe
2021-04-07 23:50                                     ` Tian, Kevin
2021-04-07 23:50                                       ` Tian, Kevin
2021-04-07 23:50                                       ` Tian, Kevin
2021-04-08 11:41                                       ` Jason Gunthorpe
2021-04-08 11:41                                         ` Jason Gunthorpe
2021-04-08 11:41                                         ` Jason Gunthorpe
2021-04-06  1:35                             ` Jason Wang
2021-04-06  1:35                               ` Jason Wang
2021-04-06  1:35                               ` Jason Wang
2021-04-06 12:42                               ` Jason Gunthorpe
2021-04-06 12:42                                 ` Jason Gunthorpe
2021-04-06 12:42                                 ` Jason Gunthorpe
2021-04-07  2:06                                 ` Jason Wang
2021-04-07  2:06                                   ` Jason Wang
2021-04-07  2:06                                   ` Jason Wang
2021-04-07  8:17                                 ` Tian, Kevin
2021-04-07  8:17                                   ` Tian, Kevin
2021-04-07  8:17                                   ` Tian, Kevin
2021-04-07 11:58                                   ` Jason Gunthorpe
2021-04-07 11:58                                     ` Jason Gunthorpe
2021-04-07 11:58                                     ` Jason Gunthorpe
2021-04-07 18:43                                   ` Jean-Philippe Brucker
2021-04-07 18:43                                     ` Jean-Philippe Brucker
2021-04-07 18:43                                     ` Jean-Philippe Brucker
2021-04-07 19:36                                     ` Jason Gunthorpe
2021-04-07 19:36                                       ` Jason Gunthorpe
2021-04-07 19:36                                       ` Jason Gunthorpe
2021-04-08  9:37                                       ` Jean-Philippe Brucker
2021-04-08  9:37                                         ` Jean-Philippe Brucker
2021-03-30  2:24                     ` Tian, Kevin
2021-03-30  2:24                       ` Tian, Kevin
2021-03-30  2:24                       ` Tian, Kevin
2021-03-30 13:24                       ` Jason Gunthorpe
2021-03-30 13:24                         ` Jason Gunthorpe
2021-03-30 13:24                         ` Jason Gunthorpe
2021-03-30  4:14                     ` Tian, Kevin
2021-03-30  4:14                       ` Tian, Kevin
2021-03-30  4:14                       ` Tian, Kevin
2021-03-30 13:27                       ` Jason Gunthorpe
2021-03-30 13:27                         ` Jason Gunthorpe
2021-03-30 13:27                         ` Jason Gunthorpe
2021-03-31  7:41                         ` Liu, Yi L
2021-03-31  7:41                           ` Liu, Yi L
2021-03-31  7:41                           ` Liu, Yi L
2021-03-31 12:38                           ` Jason Gunthorpe
2021-03-31 12:38                             ` Jason Gunthorpe
2021-03-31 12:38                             ` Jason Gunthorpe
2021-03-31 23:46                             ` Jacob Pan
2021-03-31 23:46                               ` Jacob Pan
2021-03-31 23:46                               ` Jacob Pan
2021-04-01  0:37                               ` Jason Gunthorpe
2021-04-01  0:37                                 ` Jason Gunthorpe
2021-04-01  0:37                                 ` Jason Gunthorpe
2021-04-01 17:23                                 ` Jacob Pan
2021-04-01 17:23                                   ` Jacob Pan
2021-04-01 17:23                                   ` Jacob Pan
2021-04-01 17:26                                   ` Jason Gunthorpe
2021-04-01 17:26                                     ` Jason Gunthorpe
2021-04-01 17:26                                     ` Jason Gunthorpe
2021-03-19 17:14       ` Jacob Pan
2021-03-19 17:14         ` Jacob Pan
2021-03-19 17:14         ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 06/18] iommu/ioasid: Add free function and states Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 07/18] iommu/ioasid: Add ioasid_set iterator helper functions Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 08/18] iommu/ioasid: Introduce ioasid_set private ID Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 09/18] iommu/ioasid: Introduce notification APIs Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 10/18] iommu/ioasid: Support mm token type ioasid_set notifications Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 11/18] iommu/ioasid: Add ownership check in guest bind Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 12/18] iommu/vt-d: Remove mm reference for guest SVA Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 13/18] iommu/ioasid: Add a workqueue for cleanup work Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [PATCH V4 14/18] iommu/vt-d: Listen to IOASID notifications Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 15/18] cgroup: Introduce ioasids controller Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-03-03 15:44   ` Tejun Heo
2021-03-03 15:44     ` Tejun Heo
2021-03-03 21:17     ` Jacob Pan
2021-03-03 21:17       ` Jacob Pan
2021-03-03 21:17       ` Jacob Pan
2021-03-04  0:02       ` Jacob Pan
2021-03-04  0:02         ` Jacob Pan
2021-03-04  0:02         ` Jacob Pan
2021-03-04  0:23         ` Jason Gunthorpe
2021-03-04  0:23           ` Jason Gunthorpe
2021-03-04  0:23           ` Jason Gunthorpe
2021-03-04  9:49         ` Jean-Philippe Brucker
2021-03-04  9:49           ` Jean-Philippe Brucker
2021-03-04  9:49           ` Jean-Philippe Brucker
2021-03-04 17:46           ` Jacob Pan
2021-03-04 17:46             ` Jacob Pan
2021-03-04 17:46             ` Jacob Pan
2021-03-04 17:54             ` Jason Gunthorpe
2021-03-04 17:54               ` Jason Gunthorpe
2021-03-04 17:54               ` Jason Gunthorpe
2021-03-04 19:01               ` Jacob Pan
2021-03-04 19:01                 ` Jacob Pan
2021-03-04 19:01                 ` Jacob Pan
2021-03-04 19:02                 ` Jason Gunthorpe
2021-03-04 19:02                   ` Jason Gunthorpe
2021-03-04 19:02                   ` Jason Gunthorpe
2021-03-04 21:28                   ` Jacob Pan
2021-03-04 21:28                     ` Jacob Pan
2021-03-04 21:28                     ` Jacob Pan
2021-03-05  8:30             ` Jean-Philippe Brucker
2021-03-05  8:30               ` Jean-Philippe Brucker
2021-03-05  8:30               ` Jean-Philippe Brucker
2021-03-05 17:16               ` Jean-Philippe Brucker
2021-03-05 17:16                 ` Jean-Philippe Brucker
2021-03-05 17:16                 ` Jean-Philippe Brucker
2021-03-05 18:20               ` Jacob Pan
2021-03-05 18:20                 ` Jacob Pan
2021-03-05 18:20                 ` Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 16/18] iommu/ioasid: Consult IOASIDs cgroup for allocation Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 17/18] docs: cgroup-v1: Add IOASIDs controller Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01 ` [RFC PATCH 18/18] ioasid: Add /dev/ioasid for userspace Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-02-27 22:01   ` Jacob Pan
2021-03-10 19:23   ` Jason Gunthorpe
2021-03-10 19:23     ` Jason Gunthorpe
2021-03-10 19:23     ` Jason Gunthorpe
2021-03-11 22:55     ` Jacob Pan
2021-03-11 22:55       ` Jacob Pan
2021-03-11 22:55       ` Jacob Pan
2021-03-12 14:54       ` Jason Gunthorpe
2021-03-12 14:54         ` Jason Gunthorpe
2021-03-12 14:54         ` Jason Gunthorpe
2021-03-02 12:58 ` [PATCH V4 00/18] IOASID extensions for guest SVA Liu, Yi L
2021-03-02 12:58   ` Liu, Yi L
2021-03-02 12:58   ` Liu, Yi L

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=MWHPR11MB18861FE6982D73AFBF173E048C439@MWHPR11MB1886.namprd11.prod.outlook.com \
    --to=kevin.tian@intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=ashok.raj@intel.com \
    --cc=baolu.lu@linux.intel.com \
    --cc=cgroups@vger.kernel.org \
    --cc=corbet@lwn.net \
    --cc=dave.jiang@intel.com \
    --cc=dwmw2@infradead.org \
    --cc=eric.auger@redhat.com \
    --cc=hannes@cmpxchg.org \
    --cc=hao.wu@intel.com \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jacob.jun.pan@linux.intel.com \
    --cc=jean-philippe@linaro.com \
    --cc=jean-philippe@linaro.org \
    --cc=jgg@nvidia.com \
    --cc=joro@8bytes.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lizefan@huawei.com \
    --cc=tj@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.