vfio/type1: Chunk contiguous reserved/invalid page mappings
authorAlex Williamson <alex.williamson@redhat.com>
Fri, 6 Feb 2015 17:59:16 +0000 (10:59 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Fri, 6 Feb 2015 17:59:16 +0000 (10:59 -0700)
commitbabbf1760970f141eb4021288ce0fb7196bc1a23
tree00f84b04dce039df80ed367ca195293ba8194ab3
parent6fe1010d6d9c02cf3556ab076585104551a6ee7e
vfio/type1: Chunk contiguous reserved/invalid page mappings

We currently map invalid and reserved pages, such as often occur from
mapping MMIO regions of a VM through the IOMMU, using single pages.
There's really no reason we can't instead follow the methodology we
use for normal pages and find the largest possible physically
contiguous chunk for mapping.  The only difference is that we don't
do locked memory accounting for these since they're not back by RAM.

In most applications this will be a very minor improvement, but when
graphics and GPGPU devices are in play, MMIO BARs become non-trivial.

Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
drivers/vfio/vfio_iommu_type1.c