Thread (39 messages) 39 messages, 5 authors, 2021-07-23

Re: [PATCH 3/6] vfio: remove the unused mdev iommu hook

From: Jason Gunthorpe <jgg@ziepe.ca>
Date: 2021-05-14 14:46:53
Also in: kvm, linux-iommu

On Fri, May 14, 2021 at 02:28:44PM +0000, Tian, Kevin wrote:
Well, I see what you meant now. Basically you want to make IOASID 
as the first-class object in the entire iommu stack, replacing what 
iommu domain fulfill todays. 
Alternatively you transform domain into being a full fledged IOASID.
I don't know which path works out to be a better patch series.
Our original proposal was still based on domain-centric philosophy
thus containing IOASID and its routing info only in the uAPI layer
of /dev/ioasid and then connecting to domains.
Where do the domains come from though? You still have to hack hack all
the drivers to create dummy domains to support this plan, and in the
process PASID is pretty hobbled as an actual API if every PASID
instance requires a wonky dummy struct device and domain.
btw are you OK with our ongoing uAPI proposal still based on domain
flavor for now? the uAPI semantics should be generic regardless of 
how underlying iommu interfaces are designed. At least separate
uAPI discussion from iommu ops re-design.
The most important thing is the uAPI, you don't get to change that later.

The next most is the driver facing API.

You can figure out the IOMMU layer internals in stages.

Clearly IOASID == domain today as domain is kind of half a
IOASID. When you extend to PASID and other stuff I think you have
little choice but to make a full IOASID more first class.

Dummy domains are a very poor substitute.

In my experiance these kinds of transformations can usually be managed
as "just alot of typing". Usually the old driver code structure can be
kept enough to not break it while reorganizing.

Jason

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help