]> www.infradead.org Git - users/dwmw2/qemu.git/commitdiff
vfio-ap: flag as compatible with balloon
authorCornelia Huck <cohuck@redhat.com>
Wed, 5 Dec 2018 14:35:03 +0000 (15:35 +0100)
committerCornelia Huck <cohuck@redhat.com>
Wed, 12 Dec 2018 09:39:28 +0000 (10:39 +0100)
vfio-ap devices do not pin any pages in the host. Therefore, they
are compatible with memory ballooning.

Flag them as compatible, so both vfio-ap and a balloon can be
used simultaneously.

Cc: qemu-stable@nongnu.org
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Tested-by: Tony Krowiak <akrowiak@linux.ibm.com>
Reviewed-by: Halil Pasic <pasic@linux.ibm.com>
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
hw/vfio/ap.c

index 65de952f442ed8c78dc0f3a021847da701e1034e..0a25f5e0963b1c6937ed071231107b6c6b194770 100644 (file)
@@ -104,6 +104,14 @@ static void vfio_ap_realize(DeviceState *dev, Error **errp)
     vapdev->vdev.name = g_strdup_printf("%s", mdevid);
     vapdev->vdev.dev = dev;
 
+    /*
+     * vfio-ap devices operate in a way compatible with
+     * memory ballooning, as no pages are pinned in the host.
+     * This needs to be set before vfio_get_device() for vfio common to
+     * handle the balloon inhibitor.
+     */
+    vapdev->vdev.balloon_allowed = true;
+
     ret = vfio_get_device(vfio_group, mdevid, &vapdev->vdev, &local_err);
     if (ret) {
         goto out_get_dev_err;