[libvirt PATCH v3 6/6] qemu: Implement 'blob' support for virtio gpu
Jonathon Jongsma
jjongsma at redhat.com
Wed May 18 20:13:50 UTC 2022
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 at redhat.com>
>> ---
>> 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
More information about the libvir-list
mailing list