Re: [libvirt PATCH v3 6/6] qemu: Implement 'blob' support for virtio gpu

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 5/11/22 7:06 AM, Peter Krempa wrote:
On Tue, May 10, 2022 at 11:24:31 -0500, Jonathon Jongsma wrote:
This can improve performance for some guests since it reduces copying of
display data between host and guest. Requires udmabuf on the host.

Signed-off-by: Jonathon Jongsma <jjongsma@xxxxxxxxxx>
---
  src/qemu/qemu_cgroup.c                        | 22 ++++++----
  src/qemu/qemu_command.c                       |  3 ++
  src/qemu/qemu_domain.h                        |  1 +
  src/qemu/qemu_namespace.c                     | 22 ++++++++++
  src/qemu/qemu_validate.c                      |  9 ++++
  .../video-virtio-blob-absent.args             | 34 +++++++++++++++
  .../video-virtio-blob-absent.xml              | 33 +++++++++++++++
  .../video-virtio-blob-off.args                | 34 +++++++++++++++
  .../video-virtio-blob-off.xml                 | 33 +++++++++++++++
  .../video-virtio-blob-on.args                 | 34 +++++++++++++++
  .../qemuxml2argvdata/video-virtio-blob-on.xml | 33 +++++++++++++++
  .../video-virtio-vga-blob-on.args             | 34 +++++++++++++++
  .../video-virtio-vga-blob-on.xml              | 33 +++++++++++++++
  tests/qemuxml2argvtest.c                      | 12 ++++++
  .../video-virtio-blob-absent.xml              | 41 +++++++++++++++++++
  .../video-virtio-blob-off.xml                 | 41 +++++++++++++++++++
  .../video-virtio-blob-on.xml                  | 41 +++++++++++++++++++
  .../video-virtio-vga-blob-on.xml              | 41 +++++++++++++++++++
  tests/qemuxml2xmltest.c                       | 12 ++++++
  19 files changed, 506 insertions(+), 7 deletions(-)
  create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-absent.args
  create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-absent.xml
  create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-off.args
  create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-off.xml
  create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-on.args
  create mode 100644 tests/qemuxml2argvdata/video-virtio-blob-on.xml
  create mode 100644 tests/qemuxml2argvdata/video-virtio-vga-blob-on.args
  create mode 100644 tests/qemuxml2argvdata/video-virtio-vga-blob-on.xml
  create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-absent.xml
  create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-off.xml
  create mode 100644 tests/qemuxml2xmloutdata/video-virtio-blob-on.xml
  create mode 100644 tests/qemuxml2xmloutdata/video-virtio-vga-blob-on.xml

[...]

diff --git a/tests/qemuxml2argvtest.c b/tests/qemuxml2argvtest.c
index 1d6e03490d..b2de8ef44f 100644
--- a/tests/qemuxml2argvtest.c
+++ b/tests/qemuxml2argvtest.c
@@ -2437,6 +2437,18 @@ mymain(void)
      DO_TEST("video-virtio-vga",
              QEMU_CAPS_DEVICE_VIRTIO_GPU,
              QEMU_CAPS_DEVICE_VIRTIO_VGA);
+    DO_TEST("video-virtio-blob-on",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU,
+            QEMU_CAPS_VIRTIO_GPU_BLOB);
+    DO_TEST("video-virtio-vga-blob-on",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU,
+            QEMU_CAPS_DEVICE_VIRTIO_VGA,
+            QEMU_CAPS_VIRTIO_GPU_BLOB);
+    DO_TEST("video-virtio-blob-off",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU,
+            QEMU_CAPS_VIRTIO_GPU_BLOB);
+    DO_TEST("video-virtio-blob-absent",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU);
      DO_TEST_CAPS_LATEST("video-virtio-vga-gpu-gl");
      DO_TEST_CAPS_LATEST("video-bochs-display-device");
      DO_TEST_CAPS_LATEST("video-ramfb-display-device");

[...]

diff --git a/tests/qemuxml2xmltest.c b/tests/qemuxml2xmltest.c
index 518842112e..3d31a1480f 100644
--- a/tests/qemuxml2xmltest.c
+++ b/tests/qemuxml2xmltest.c
@@ -1278,6 +1278,18 @@ mymain(void)
              QEMU_CAPS_DEVICE_VIRTIO_GPU_CCW);
      DO_TEST("video-none-device", QEMU_CAPS_VNC);
      DO_TEST_CAPS_LATEST("video-virtio-vga-gpu-gl");
+    DO_TEST("video-virtio-blob-on",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU,
+            QEMU_CAPS_VIRTIO_GPU_BLOB);
+    DO_TEST("video-virtio-vga-blob-on",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU,
+            QEMU_CAPS_DEVICE_VIRTIO_VGA,
+            QEMU_CAPS_VIRTIO_GPU_BLOB);
+    DO_TEST("video-virtio-blob-off",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU,
+            QEMU_CAPS_VIRTIO_GPU_BLOB);
+    DO_TEST("video-virtio-blob-absent",
+            QEMU_CAPS_DEVICE_VIRTIO_GPU);

Please make sure to preferrably use DO_TEST_CAPS_LATEST or
DO_TEST_CAPS_VER for positive test cases, unless there's a very
specific need to test with a certain flag combination.

I can have a closer look at this series later once I finish the other
stuff I planned to review.


Do you still plan to take a look at this Peter, or should I post a new version with these changes and the doc changes suggested by Han Han?

Jonathon




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux