s390x/pci: shrink DMA aperture to be bound by vfio DMA limit
commitdf202e3ff3fccb49868e08f20d0bda86cb953fbe
authorMatthew Rosato <mjrosato@linux.ibm.com>
Fri, 28 Oct 2022 19:47:58 +0000 (28 15:47 -0400)
committerThomas Huth <thuth@redhat.com>
Thu, 15 Dec 2022 14:02:34 +0000 (15 15:02 +0100)
treec6e920bdc5bd33071c4e0ecc7da2046b2f0269bf
parentef536007c3301bbd6a787e4c2210ea289adaa6f0
s390x/pci: shrink DMA aperture to be bound by vfio DMA limit

Currently, s390x-pci performs accounting against the vfio DMA
limit and triggers the guest to clean up mappings when the limit
is reached. Let's go a step further and also limit the size of
the supported DMA aperture reported to the guest based upon the
initial vfio DMA limit reported for the container (if less than
than the size reported by the firmware/host zPCI layer).  This
avoids processing sections of the guest DMA table during global
refresh that, for common use cases, will never be used anway, and
makes exhausting the vfio DMA limit due to mismatch between guest
aperture size and host limit far less likely and more indicitive
of an error.

Signed-off-by: Matthew Rosato <mjrosato@linux.ibm.com>
Message-Id: <20221028194758.204007-4-mjrosato@linux.ibm.com>
Reviewed-by: Eric Farman <farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
hw/s390x/s390-pci-vfio.c
include/hw/s390x/s390-pci-bus.h