[Qemu-devel] [PATCH v5 00/13] vhost-user for input & GPU

Marc-André Lureau posted 13 patches 9 weeks ago
Test docker-clang@ubuntu passed
Test docker-mingw@fedora passed
Test checkpatch failed
Test asan failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190412153647.19027-1-marcandre.lureau@redhat.com
Maintainers: Gerd Hoffmann <kraxel@redhat.com>, Paolo Bonzini <pbonzini@redhat.com>, "Marc-André Lureau" <marcandre.lureau@redhat.com>, David Gibson <david@gibson.dropbear.id.au>, "Michael S. Tsirkin" <mst@redhat.com>

[Qemu-devel] [PATCH v5 00/13] vhost-user for input & GPU

Posted by Marc-André Lureau 9 weeks ago
Hi,

vhost-user allows to drive a virtio device in a seperate
process. After vhost-user-net, we have seen
vhost-user-{scsi,blk,crypto} added more recently.

This series, initially proposed ~3 years ago, time flies
(https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01905.html)
contributes with vhost-user-input and vhost-user-gpu.

You may start a vhost-user-gpu with virgl rendering in a separate
process like this:

$ ./vhost-user-gpu --virgl -s vgpu.sock &
$ qemu...
  -chardev socket,id=chr,path=vgpu.sock
  -device vhost-user-vga,chardev=chr

v5:
 - remove user-creatable version of vhost-user-backend
 - remove optinal management of sub-process in vhost-user-backend
 - removed daemonize/pid code
 - drop introduction of new input & gpu messages for PCI config space
   handling, instead use VHOST_USER_PROTOCOL_F_CONFIG
 - plain mem & udmabuf fallback for 2d rendering
 - rebased, kconfig-ify, rst-ify

Gerd Hoffmann (1):
  curses: fix wchar_t printf warning

Greg Kurz (1):
  spapr_pci: Fix broken naming of PCI bus

Marc-André Lureau (10):
  Add vhost-user-backend
  Add vhost-user-input-pci
  libvhost-user: add PROTOCOL_F_CONFIG if {set,get}_config
  contrib: add vhost-user-input
  vhost-user: add vhost_user_gpu_set_socket()
  virtio: add virtio-gpu bswap helpers header
  contrib: add vhost-user-gpu
  virtio-gpu: split virtio-gpu, introduce virtio-gpu-base
  virtio-gpu: split virtio-gpu-pci & virtio-vga
  hw/display: add vhost-user-vga & gpu-pci

Peter Maydell (1):
  Update version for v4.0.0-rc3 release

-- 
2.21.0.313.ge35b8cb8e2


Re: [Qemu-devel] [PATCH v5 00/13] vhost-user for input & GPU

Posted by no-reply@patchew.org 9 weeks ago
Patchew URL: https://patchew.org/QEMU/20190412153647.19027-1-marcandre.lureau@redhat.com/



Hi,

This series failed the asan build test. Please find the testing commands and
their output below. If you have Docker installed, you can probably reproduce it
locally.

=== TEST SCRIPT BEGIN ===
#!/bin/bash
time make docker-test-debug@fedora TARGET_LIST=x86_64-softmmu J=14 NETWORK=1
=== TEST SCRIPT END ===

In file included from /tmp/qemu-test/src/contrib/vhost-user-gpu/virgl.c:16:
In file included from /tmp/qemu-test/src/contrib/vhost-user-gpu/virgl.h:17:
In file included from /tmp/qemu-test/src/contrib/vhost-user-gpu/vugpu.h:25:
/tmp/qemu-test/src/contrib/vhost-user-gpu/drm.h:15:10: fatal error: 'i915_drm.h' file not found
#include <i915_drm.h>
         ^~~~~~~~~~~~
  CC      blockjob.o
---
make: *** Waiting for unfinished jobs....
In file included from /tmp/qemu-test/src/contrib/vhost-user-gpu/main.c:21:
In file included from /tmp/qemu-test/src/contrib/vhost-user-gpu/vugpu.h:25:
/tmp/qemu-test/src/contrib/vhost-user-gpu/drm.h:15:10: fatal error: 'i915_drm.h' file not found
#include <i915_drm.h>
         ^~~~~~~~~~~~
/tmp/qemu-test/src/contrib/libvhost-user/libvhost-user.c:546:32: error: taking address of packed member 'payload' of class or structure 'VhostUserMsg' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
    VhostUserMemory *memory = &vmsg->payload.memory;
                               ^~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/contrib/libvhost-user/libvhost-user.c:688:32: error: taking address of packed member 'payload' of class or structure 'VhostUserMsg' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
    VhostUserMemory *memory = &vmsg->payload.memory;
                               ^~~~~~~~~~~~~~~~~~~~
/tmp/qemu-test/src/contrib/libvhost-user/libvhost-user.c:817:37: error: taking address of packed member 'payload' of class or structure 'VhostUserMsg' may result in an unaligned pointer value [-Werror,-Waddress-of-packed-member]
    struct vhost_vring_addr *vra = &vmsg->payload.addr;
                                    ^~~~~~~~~~~~~~~~~~
3 errors generated.


The full log is available at
http://patchew.org/logs/20190412153647.19027-1-marcandre.lureau@redhat.com/testing.asan/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

Re: [Qemu-devel] [PATCH v5 00/13] vhost-user for input & GPU

Posted by no-reply@patchew.org 9 weeks ago
Patchew URL: https://patchew.org/QEMU/20190412153647.19027-1-marcandre.lureau@redhat.com/



Hi,

This series seems to have some coding style problems. See output below for
more information:

Message-id: 20190412153647.19027-1-marcandre.lureau@redhat.com
Subject: [Qemu-devel] [PATCH v5 00/13] vhost-user for input & GPU
Type: series

=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===

Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
   e1be98540e..13c24edaa7  master     -> master
 * [new tag]               patchew/20190412152619.23542-1-thuth@redhat.com -> patchew/20190412152619.23542-1-thuth@redhat.com
 * [new tag]               patchew/20190412152652.827-1-dgilbert@redhat.com -> patchew/20190412152652.827-1-dgilbert@redhat.com
 * [new tag]               patchew/20190412152713.16018-1-marcandre.lureau@redhat.com -> patchew/20190412152713.16018-1-marcandre.lureau@redhat.com
 * [new tag]               patchew/20190412153647.19027-1-marcandre.lureau@redhat.com -> patchew/20190412153647.19027-1-marcandre.lureau@redhat.com
 * [new tag]               patchew/20190412160458.23920-1-kwolf@redhat.com -> patchew/20190412160458.23920-1-kwolf@redhat.com
Switched to a new branch 'test'
d5cc322df5 hw/display: add vhost-user-vga & gpu-pci
3e48843814 virtio-gpu: split virtio-gpu-pci & virtio-vga
27de3a9c6e virtio-gpu: split virtio-gpu, introduce virtio-gpu-base
3d2340a207 contrib: add vhost-user-gpu
9a14706dd9 virtio: add virtio-gpu bswap helpers header
03da2a93d1 vhost-user: add vhost_user_gpu_set_socket()
e47966fdc8 contrib: add vhost-user-input
beb467adc0 libvhost-user: add PROTOCOL_F_CONFIG if {set, get}_config
0cf7f81cf7 Add vhost-user-input-pci
2ce13ff56b Add vhost-user-backend
68dc09b28e qemu-img: fix .hx and .texi disparity

=== OUTPUT BEGIN ===
1/11 Checking commit 68dc09b28e31 (qemu-img: fix .hx and .texi disparity)
2/11 Checking commit 2ce13ff56b22 (Add vhost-user-backend)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#44: 
new file mode 100644

WARNING: Block comments use a leading /* on a separate line
#143: FILE: backends/vhost-user.c:95:
+    /* guest_notifier_mask/pending not used yet, so just unmask

total: 0 errors, 2 warnings, 280 lines checked

Patch 2/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/11 Checking commit 0cf7f81cf724 (Add vhost-user-input-pci)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#58: 
new file mode 100644

total: 0 errors, 1 warnings, 250 lines checked

Patch 3/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/11 Checking commit beb467adc013 (libvhost-user: add PROTOCOL_F_CONFIG if {set, get}_config)
5/11 Checking commit e47966fdc89a (contrib: add vhost-user-input)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#79: 
new file mode 100644

total: 0 errors, 1 warnings, 466 lines checked

Patch 5/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/11 Checking commit 03da2a93d186 (vhost-user: add vhost_user_gpu_set_socket())
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#74: 
new file mode 100644

total: 0 errors, 1 warnings, 313 lines checked

Patch 6/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/11 Checking commit 9a14706dd99f (virtio: add virtio-gpu bswap helpers header)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#74: 
new file mode 100644

total: 0 errors, 1 warnings, 116 lines checked

Patch 7/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/11 Checking commit 3d2340a20702 (contrib: add vhost-user-gpu)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#131: 
new file mode 100644

total: 0 errors, 1 warnings, 2523 lines checked

Patch 8/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
9/11 Checking commit 27de3a9c6ece (virtio-gpu: split virtio-gpu, introduce virtio-gpu-base)
WARNING: Block comments use a leading /* on a separate line
#100: FILE: hw/display/virtio-gpu-3d.c:181:
+            info.flags & 1 /* FIXME: Y_0_TOP */,

WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#188: 
new file mode 100644

ERROR: Macros with complex values should be enclosed in parenthesis
#1253: FILE: include/hw/virtio/virtio-gpu.h:122:
+#define VIRTIO_GPU_BASE_PROPERTIES(_state, _conf)                       \
+    DEFINE_PROP_UINT32("max_outputs", _state, _conf.max_outputs, 1),    \
+    DEFINE_PROP_BIT("edid", _state, _conf.flags, \
+                    VIRTIO_GPU_FLAG_EDID_ENABLED, false), \
+    DEFINE_PROP_UINT32("xres", _state, _conf.xres, 1024), \
+    DEFINE_PROP_UINT32("yres", _state, _conf.yres, 768)

total: 1 errors, 2 warnings, 1184 lines checked

Patch 9/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

10/11 Checking commit 3e4884381437 (virtio-gpu: split virtio-gpu-pci & virtio-vga)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#392: 
new file mode 100644

total: 0 errors, 1 warnings, 390 lines checked

Patch 10/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
11/11 Checking commit d5cc322df527 (hw/display: add vhost-user-vga & gpu-pci)
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#56: 
new file mode 100644

ERROR: Macros with complex values should be enclosed in parenthesis
#829: FILE: include/hw/virtio/virtio-gpu-pci.h:35:
+#define DEFINE_VIRTIO_GPU_PCI_PROPERTIES(_state)                \
+    DEFINE_PROP_BIT("ioeventfd", _state, flags,                 \
+                    VIRTIO_PCI_FLAG_USE_IOEVENTFD_BIT, false),  \
+        DEFINE_PROP_UINT32("vectors", _state, nvectors, 3)

total: 1 errors, 1 warnings, 818 lines checked

Patch 11/11 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.

=== OUTPUT END ===

Test command exited with code: 1


The full log is available at
http://patchew.org/logs/20190412153647.19027-1-marcandre.lureau@redhat.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com

Re: [Qemu-devel] [PATCH v5 00/13] vhost-user for input & GPU

Posted by Marc-André Lureau 9 weeks ago
Hi

On Fri, Apr 12, 2019 at 5:38 PM Marc-André Lureau
<marcandre.lureau@redhat.com> wrote:
>
> Hi,
>
> vhost-user allows to drive a virtio device in a seperate
> process. After vhost-user-net, we have seen
> vhost-user-{scsi,blk,crypto} added more recently.
>
> This series, initially proposed ~3 years ago, time flies
> (https://lists.gnu.org/archive/html/qemu-devel/2016-06/msg01905.html)
> contributes with vhost-user-input and vhost-user-gpu.
>
> You may start a vhost-user-gpu with virgl rendering in a separate
> process like this:
>
> $ ./vhost-user-gpu --virgl -s vgpu.sock &
> $ qemu...
>   -chardev socket,id=chr,path=vgpu.sock
>   -device vhost-user-vga,chardev=chr
>
> v5:
>  - remove user-creatable version of vhost-user-backend
>  - remove optinal management of sub-process in vhost-user-backend
>  - removed daemonize/pid code
>  - drop introduction of new input & gpu messages for PCI config space
>    handling, instead use VHOST_USER_PROTOCOL_F_CONFIG
>  - plain mem & udmabuf fallback for 2d rendering
>  - rebased, kconfig-ify, rst-ify
>
> Gerd Hoffmann (1):
>   curses: fix wchar_t printf warning
>
> Greg Kurz (1):
>   spapr_pci: Fix broken naming of PCI bus
>
> Marc-André Lureau (10):
>   Add vhost-user-backend
>   Add vhost-user-input-pci
>   libvhost-user: add PROTOCOL_F_CONFIG if {set,get}_config
>   contrib: add vhost-user-input
>   vhost-user: add vhost_user_gpu_set_socket()
>   virtio: add virtio-gpu bswap helpers header
>   contrib: add vhost-user-gpu
>   virtio-gpu: split virtio-gpu, introduce virtio-gpu-base
>   virtio-gpu: split virtio-gpu-pci & virtio-vga
>   hw/display: add vhost-user-vga & gpu-pci
>
> Peter Maydell (1):
>   Update version for v4.0.0-rc3 release
>

oops, some bonus patches :) my bad, please ignore



-- 
Marc-André Lureau