Re: [PATCH 1/2] powerpc: iommu: Bring back table group release_ownership() call

From: Timothy Pearson
Date: Fri Jan 26 2024 - 10:44:37 EST




----- Original Message -----
> From: "Timothy Pearson" <tpearson@xxxxxxxxxxxxxxxxxxxxx>
> To: "Jason Gunthorpe" <jgg@xxxxxxxx>
> Cc: "Timothy Pearson" <tpearson@xxxxxxxxxxxxxxxxxxxxx>, "Shivaprasad G Bhat" <sbhat@xxxxxxxxxxxxx>, "iommu"
> <iommu@xxxxxxxxxxxxxxx>, "linuxppc-dev" <linuxppc-dev@xxxxxxxxxxxxxxxx>, "linux-kernel" <linux-kernel@xxxxxxxxxxxxxxx>,
> "Michael Ellerman" <mpe@xxxxxxxxxxxxxx>, "npiggin" <npiggin@xxxxxxxxx>, "christophe leroy"
> <christophe.leroy@xxxxxxxxxx>, "aneesh kumar" <aneesh.kumar@xxxxxxxxxx>, "naveen n rao" <naveen.n.rao@xxxxxxxxxxxxx>,
> "jroedel" <jroedel@xxxxxxx>, "aik" <aik@xxxxxxx>, "bgray" <bgray@xxxxxxxxxxxxx>, "Greg Kroah-Hartman"
> <gregkh@xxxxxxxxxxxxxxxxxxx>, "gbatra" <gbatra@xxxxxxxxxxxxxxxxxx>, "vaibhav" <vaibhav@xxxxxxxxxxxxx>
> Sent: Friday, January 26, 2024 9:39:56 AM
> Subject: Re: [PATCH 1/2] powerpc: iommu: Bring back table group release_ownership() call

> ----- Original Message -----
>> From: "Jason Gunthorpe" <jgg@xxxxxxxx>
>> To: "Timothy Pearson" <tpearson@xxxxxxxxxxxxxxxxxxxxx>
>> Cc: "Shivaprasad G Bhat" <sbhat@xxxxxxxxxxxxx>, "iommu" <iommu@xxxxxxxxxxxxxxx>,
>> "linuxppc-dev"
>> <linuxppc-dev@xxxxxxxxxxxxxxxx>, "linux-kernel" <linux-kernel@xxxxxxxxxxxxxxx>,
>> "Michael Ellerman"
>> <mpe@xxxxxxxxxxxxxx>, "npiggin" <npiggin@xxxxxxxxx>, "christophe leroy"
>> <christophe.leroy@xxxxxxxxxx>, "aneesh kumar"
>> <aneesh.kumar@xxxxxxxxxx>, "naveen n rao" <naveen.n.rao@xxxxxxxxxxxxx>,
>> "jroedel" <jroedel@xxxxxxx>, "aik"
>> <aik@xxxxxxx>, "bgray" <bgray@xxxxxxxxxxxxx>, "Greg Kroah-Hartman"
>> <gregkh@xxxxxxxxxxxxxxxxxxx>, "gbatra"
>> <gbatra@xxxxxxxxxxxxxxxxxx>, "vaibhav" <vaibhav@xxxxxxxxxxxxx>
>> Sent: Friday, January 26, 2024 9:38:06 AM
>> Subject: Re: [PATCH 1/2] powerpc: iommu: Bring back table group
>> release_ownership() call
>
>> On Fri, Jan 26, 2024 at 09:29:55AM -0600, Timothy Pearson wrote:
>>> > On Fri, Jan 26, 2024 at 08:43:12PM +0530, Shivaprasad G Bhat wrote:
>>> >> > Also, is there any chance someone can work on actually fixing this to
>>> >> > be a proper iommu driver? I think that will become important for power
>>> >> > to use the common dma_iommu code in the next year...
>>> >> We are looking into it.
>>> >
>>> > Okay, let me know, I can possibly help make parts of this happen
>>> >
>>> > power is the last still-current architecture to be outside the modern
>>> > IOMMU and DMA API design and I'm going to start proposing things that
>>> > will not be efficient on power because of this.
>>>
>>> I can get development resources on this fairly rapidly, including
>>> testing. We should figure out the best way forward and how to deal
>>> with the VFIO side of things, even if that's a rewrite at the end of
>>> the day the machine-specific codebase isn't *that* large for our two
>>> target flavors (64-bit PowerNV and 64-bit pSeries).
>>
>> I have a feeling the way forward is to just start a power driver under
>> drivers/iommu/ and use kconfig to make the user exclusively select
>> either the legacy arch or the modern iommu.
>>
>> Get that working to a level where dma_iommu is happy.
>>
>> Get iommufd support in the new driver good enough to run your
>> application.
>>
>> Just forget about the weird KVM and SPAPR stuff, leave it under the
>> kconfig of the old code and nobody will run it. Almost nobody already
>> runs it, apparently.
>
> We actually use QEMU/KVM/VFIO extensively at Raptor, so need the support and
> need it to be performant...

Never mind, I can't read this morning. :) You did say iommufd support, which gives the VFIO passthrough functionality. I think this is a reasonable approach, and will discuss further internally this afternoon.