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