Re: [PATCH v7 00/24] iommu: Shared Virtual Addressing for SMMUv3

Will Deacon
2020-05-21T14:17:38Z

On Thu, May 21, 2020 at 11:35:14AM +0100, Will Deacon wrote:
> On Tue, May 19, 2020 at 07:54:38PM +0200, Jean-Philippe Brucker wrote:
> > Shared Virtual Addressing (SVA) allows to share process page tables with
> > devices using the IOMMU, PASIDs and I/O page faults. Add SVA support to
> > the Arm SMMUv3 driver.
> >
> > Since v6 [1]:
> > * Rename ioasid_free() to ioasid_put() in patch 02, requiring changes to
> > the Intel drivers.
> > * Use mmu_notifier_register() in patch 16 to avoid copying the ops and
> > simplify the invalidate() notifier in patch 17.
> > * As a result, replace context spinlock with a mutex. Simplified locking in
> > patch 11 (That patch still looks awful, but I think the series is more
> > readable overall). And I've finally been able to remove the GFP_ATOMIC
> > allocations.
> > * Use a single patch (04) for io-pgfault.c, since the code was simplified
> > in v6. Fixed partial list in patch 04.
>
> There's an awful lot here and it stretches across quite a few subsystems,
> with different git trees. What's the plan for merging it?
>
> I'm happy to take some of the arm64 and smmu changes for 5.8, then perhaps
> we can review what's left and target 5.9? It would also be helpful to split
> that up into separate series where there aren't strong dependencies, I
> think.

Hmm, so the way the series is structured makes it quite difficult to apply
much of this at all :(

I've taken patch 5 into the arm64 tree and patch 8 into the smmu tree. I'll
leave a couple of Acks on some of the simpler patches, but I think this
really needs splitting up a bit to make it more manageable.

I also notice a bunch of TODOs that get introduced and then removed. Given
that the series needs to be bisectable, these shouldn't be needed and can
just be removed.

Thanks,

Will