Re: [PATCH v5 0/5] iommu/s390: support additional table regions
From: Niklas Schnelle
Date: Wed Apr 16 2025 - 05:20:20 EST
On Fri, 2025-04-11 at 16:24 -0400, Matthew Rosato wrote:
> The series extends the maximum table size allowed by s390-iommu by
> increasing the number of table regions supported. It also adds logic to
> construct the table use the minimum number of regions based upon aperture
> calculation.
>
> Changes for v5:
> - fix GFP_KERNEL under spinlock in patch 5
>
> Changes for v4:
> - rebase onto master/merge window
> - convert patches 3 per Niklas to remove gotos
> - convert patch 4 to also remove gotos
> - add review tags
>
> Changes for v3:
> - rebase onto iommu-next
> - move IOTA region type setting into s390-iommu
> - remove origin_type and max_table_size from zdev
> - adjust reserved region calculation to be dependent on the domain
>
> Changes for v2:
> - rebase onto 6.13
> - remove 'iommu/s390: add basic routines for region 1st and 2nd tables'
> and put routines in first patch that uses each. No functional change.
>
> Matthew Rosato (5):
> iommu/s390: set appropriate IOTA region type
> iommu/s390: support cleanup of additional table regions
> iommu/s390: support iova_to_phys for additional table regions
> iommu/s390: support map/unmap for additional table regions
> iommu/s390: allow larger region tables
>
> arch/s390/include/asm/pci_dma.h | 3 +
> drivers/iommu/s390-iommu.c | 345 ++++++++++++++++++++++++++++----
> 2 files changed, 314 insertions(+), 34 deletions(-)
>
I gave this v5 another test run with it applied atop v6.15-rc2. I used
an LPAR with 11 TB of memory and 2 KVM guests each with 5 TB. The
guests use iommu.passthrough=1 and have NIC VFs from the same card
passed-through. With such large sizes we really need the newly
supported table types. For good measure, I also used the PCI transport
for the virtio-net NIC.
Traffic between the passed-through VFs works great. Feel free to add:
Tested-by: Niklas Schnelle <schnelle@xxxxxxxxxxxxx>