[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220317135254.GZ11336@nvidia.com>
Date: Thu, 17 Mar 2022 10:52:54 -0300
From: Jason Gunthorpe <jgg@...dia.com>
To: "Tian, Kevin" <kevin.tian@...el.com>
Cc: Robin Murphy <robin.murphy@....com>,
Matthew Rosato <mjrosato@...ux.ibm.com>,
"linux-s390@...r.kernel.org" <linux-s390@...r.kernel.org>,
"kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"david@...hat.com" <david@...hat.com>,
"farman@...ux.ibm.com" <farman@...ux.ibm.com>,
"oberpar@...ux.ibm.com" <oberpar@...ux.ibm.com>,
"vneethv@...ux.ibm.com" <vneethv@...ux.ibm.com>,
"agordeev@...ux.ibm.com" <agordeev@...ux.ibm.com>,
"imbrenda@...ux.ibm.com" <imbrenda@...ux.ibm.com>,
"will@...nel.org" <will@...nel.org>,
Jean-Philippe Brucker <jean-philippe@...aro.org>,
"frankja@...ux.ibm.com" <frankja@...ux.ibm.com>,
"corbet@....net" <corbet@....net>,
"linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"pasic@...ux.ibm.com" <pasic@...ux.ibm.com>,
"gerald.schaefer@...ux.ibm.com" <gerald.schaefer@...ux.ibm.com>,
"borntraeger@...ux.ibm.com" <borntraeger@...ux.ibm.com>,
"thuth@...hat.com" <thuth@...hat.com>,
"gor@...ux.ibm.com" <gor@...ux.ibm.com>,
"schnelle@...ux.ibm.com" <schnelle@...ux.ibm.com>,
"hca@...ux.ibm.com" <hca@...ux.ibm.com>,
"alex.williamson@...hat.com" <alex.williamson@...hat.com>,
"freude@...ux.ibm.com" <freude@...ux.ibm.com>,
"pmorel@...ux.ibm.com" <pmorel@...ux.ibm.com>,
"cohuck@...hat.com" <cohuck@...hat.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"iommu@...ts.linux-foundation.org" <iommu@...ts.linux-foundation.org>,
"svens@...ux.ibm.com" <svens@...ux.ibm.com>,
"pbonzini@...hat.com" <pbonzini@...hat.com>,
"Zhao, Yan Y" <yan.y.zhao@...el.com>
Subject: Re: [PATCH v4 14/32] iommu: introduce iommu_domain_alloc_type and
the KVM type
On Thu, Mar 17, 2022 at 05:47:36AM +0000, Tian, Kevin wrote:
> > From: Robin Murphy
> > Sent: Tuesday, March 15, 2022 6:49 PM
> >
> > On 2022-03-14 19:44, Matthew Rosato wrote:
> > > s390x will introduce an additional domain type that is used for
> > > managing IOMMU owned by KVM. Define the type here and add an
> > > interface for allocating a specified type vs the default type.
> >
> > I'm also not a huge fan of adding a new domain_alloc interface like
> > this, however if it is justifiable, then please make it take struct
> > device rather than struct bus_type as an argument.
> >
> > It also sounds like there may be a degree of conceptual overlap here
> > with what Jean-Philippe is working on for sharing pagetables between KVM
> > and SMMU for Android pKVM, so it's probably worth some thought over
> > whether there's any scope for common interfaces in terms of actual
> > implementation.
>
> Same here. Yan Zhao is working on page table sharing between KVM
> and VT-d. This is one important usage to build atop iommufd and
> a set of common interfaces are definitely necessary here. 😊
I always thought 'page table sharing with KVM' is SVA - ie it requires
PRI in the IOMMU driver as the KVM page table is fully unpinned and
dynamic. This S390 case is not doing SVA/PRI
Are people working on teaching KVM to DMA pin every page and avoid
having a dynamic page table? I'm surprised, a lot of stuff won't work,
eg write protect..
Jason
Powered by blists - more mailing lists