Re: [PATCH v2 4/7] iommu: Let iommu.strict override ops->def_domain_type

From: Baolu Lu
Date: Tue Nov 29 2022 - 20:29:07 EST


On 2022/11/30 4:09, Jason Gunthorpe wrote:
On Tue, Nov 29, 2022 at 06:41:22PM +0000, Robin Murphy wrote:
On 2022-11-29 17:33, Jason Gunthorpe wrote:
On Mon, Nov 28, 2022 at 09:01:43PM +0000, Robin Murphy wrote:

I'm hardly an advocate for trying to save users from themselves, but I
honestly can't see any justifiable reason for not having sysfs respect
iommu_get_def_domain_type().

We really need to rename this value if it is not actually just an
advisory "default" but a functional requirement ..

It represents a required default domain type. As in, the type for the
device's default domain. Not the default type for a domain. It's the
iommu_def_domain_type variable that holds the *default* default domain type
;)

I find the name "default domain" incredibly confusing at this point in
time.

I would like to call that the "dma-api domain" - its primary purpose
is to be the domain that the DMA API uses to operate the IOMMU, there
is little "default" about it. This meshes better with our apis talking
about ownership and so forth.

So, if the op was called
get_dma_api_domain_type()

It is pretty clear that it is the exact type of domain that should be
created to support the DMA API, which is what I think you have been
describing it is supposed to do?

And with Lu's series we have the set_platform_dma() (Lu perhaps you
should call this set_platform_dma_api() to re-enforce it is about the
DMA API, not some nebulous DMA thing)

Sure thing. It's more specific.


Which is basically the other way to configure the DMA API for
operation.

And encapsulating more of the logic to setup and manage the DMA API's
domain into dma-iommu.c would also be helpful to understanding.

Which reminds me I should finish that patch undoing my terrible
ops->default_domain_ops idea, not least because they are misleadingly
unrelated to default domains...

:)

It is close to being clear, once we get the last touches of dma-iommu
stuff out of the drivers it should be quite clear

Cool, some upheaval of .domain_alloc is next on my hitlist anyway, so that
might be a good excuse to upheave it a bit more and streamline the type
stuff along the way.

Yes, I think so. I want to tidy things a bit so adding this "user
space" domain concept is a little nicer

Jason


--
Best regards,
baolu