[Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input

Marc-André Lureau posted 13 patches 1 week ago
Test docker-mingw@fedora passed
Test asan failed
Test checkpatch passed
Test docker-clang@ubuntu failed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20190208112357.31615-1-marcandre.lureau@redhat.com
contrib/libvhost-user/libvhost-user-glib.h |   3 +
contrib/libvhost-user/libvhost-user.h      |  17 +-
include/hw/virtio/vhost-backend.h          |   4 +
include/hw/virtio/vhost-user-blk.h         |   2 +-
include/hw/virtio/vhost-user-scsi.h        |   2 +-
include/hw/virtio/vhost-user.h             |   2 +-
include/hw/virtio/virtio-input.h           |  14 +
include/sysemu/vhost-user-backend.h        |  60 ++++
backends/cryptodev-vhost-user.c            |  18 +-
backends/vhost-user.c                      | 218 +++++++++++
contrib/libvhost-user/libvhost-user-glib.c |  11 +-
contrib/libvhost-user/libvhost-user.c      |  19 +-
contrib/vhost-user-input/main.c            | 398 +++++++++++++++++++++
hw/block/vhost-user-blk.c                  |  22 +-
hw/input/vhost-user-input.c                | 104 ++++++
hw/scsi/vhost-user-scsi.c                  |  20 +-
hw/virtio/vhost-stub.c                     |   4 +-
hw/virtio/vhost-user-input-pci.c           |  53 +++
hw/virtio/vhost-user.c                     | 118 +++++-
net/vhost-user.c                           |  13 +-
MAINTAINERS                                |   5 +
Makefile                                   |   3 +
Makefile.objs                              |   1 +
backends/Makefile.objs                     |   3 +-
configure                                  |   3 +
contrib/vhost-user-input/Makefile.objs     |   1 +
default-configs/virtio.mak                 |   1 +
docs/interop/vhost-user.json               | 232 ++++++++++++
docs/interop/vhost-user.txt                | 109 +++++-
hw/input/Makefile.objs                     |   1 +
hw/virtio/Makefile.objs                    |   1 +
31 files changed, 1375 insertions(+), 87 deletions(-)
create mode 100644 include/sysemu/vhost-user-backend.h
create mode 100644 backends/vhost-user.c
create mode 100644 contrib/vhost-user-input/main.c
create mode 100644 hw/input/vhost-user-input.c
create mode 100644 hw/virtio/vhost-user-input-pci.c
create mode 100644 contrib/vhost-user-input/Makefile.objs
create mode 100644 docs/interop/vhost-user.json

[Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input

Posted by Marc-André Lureau 1 week ago
Hi,

This series is based on previously discussed "[PATCH v4 00/29]
vhost-user for input & GPU" and "vhost-user: define conventions for
vhost-user backends" work. The GPU part is left off for now.

This series introduces a "vhost-user-backend": an helper object to be
used by vhost-user devices to ease with backend initialization and
handling. As a simple showcase, a "vhost-user-input-pci" device is
introduced, which can be used with the "contrib: add vhost-user-input"
example. vhost-user-input isn't meant to be installed, discovered or
used by libvirt: no installation is done (no vhost-user JSON file is
provided either).

thanks

v3:
- add previously sent patch "libvhost-user: fix clang enum-conversion
  warning" to fix clang build
- "define conventions for vhost-user backends" updates after Eric review
- Drop user-creatable from vhost-user-backend
- Make vhost-user-input-pci take a chardev= (instead of vhost-user=)

v2:
- rebased (VhostUserInputPCI got most of the changes, due to split)
- added "RFC: add explicit can_migrate to
  vhost_user_backend_dev_init()" to attempt to address Michael
  concerns about migration.

Marc-André Lureau (13):
  libvhost-user: fix clang enum-conversion warning
  vhost-user: define conventions for vhost-user backends
  vhost-user: simplify vhost_user_init/vhost_user_cleanup
  libvhost-user: exit by default on VHOST_USER_NONE
  vhost-user: wrap some read/write with retry handling
  Add vhost-user-backend
  vhost-user: split vhost_user_read()
  vhost-user: add vhost_user_input_get_config()
  libvhost-user-glib: export vug_source_new()
  libvhost-user: add vu_queue_unpop()
  Add vhost-user-input-pci
  contrib: add vhost-user-input
  RFC: add explicit can_migrate to vhost_user_backend_dev_init()

 contrib/libvhost-user/libvhost-user-glib.h |   3 +
 contrib/libvhost-user/libvhost-user.h      |  17 +-
 include/hw/virtio/vhost-backend.h          |   4 +
 include/hw/virtio/vhost-user-blk.h         |   2 +-
 include/hw/virtio/vhost-user-scsi.h        |   2 +-
 include/hw/virtio/vhost-user.h             |   2 +-
 include/hw/virtio/virtio-input.h           |  14 +
 include/sysemu/vhost-user-backend.h        |  60 ++++
 backends/cryptodev-vhost-user.c            |  18 +-
 backends/vhost-user.c                      | 218 +++++++++++
 contrib/libvhost-user/libvhost-user-glib.c |  11 +-
 contrib/libvhost-user/libvhost-user.c      |  19 +-
 contrib/vhost-user-input/main.c            | 398 +++++++++++++++++++++
 hw/block/vhost-user-blk.c                  |  22 +-
 hw/input/vhost-user-input.c                | 104 ++++++
 hw/scsi/vhost-user-scsi.c                  |  20 +-
 hw/virtio/vhost-stub.c                     |   4 +-
 hw/virtio/vhost-user-input-pci.c           |  53 +++
 hw/virtio/vhost-user.c                     | 118 +++++-
 net/vhost-user.c                           |  13 +-
 MAINTAINERS                                |   5 +
 Makefile                                   |   3 +
 Makefile.objs                              |   1 +
 backends/Makefile.objs                     |   3 +-
 configure                                  |   3 +
 contrib/vhost-user-input/Makefile.objs     |   1 +
 default-configs/virtio.mak                 |   1 +
 docs/interop/vhost-user.json               | 232 ++++++++++++
 docs/interop/vhost-user.txt                | 109 +++++-
 hw/input/Makefile.objs                     |   1 +
 hw/virtio/Makefile.objs                    |   1 +
 31 files changed, 1375 insertions(+), 87 deletions(-)
 create mode 100644 include/sysemu/vhost-user-backend.h
 create mode 100644 backends/vhost-user.c
 create mode 100644 contrib/vhost-user-input/main.c
 create mode 100644 hw/input/vhost-user-input.c
 create mode 100644 hw/virtio/vhost-user-input-pci.c
 create mode 100644 contrib/vhost-user-input/Makefile.objs
 create mode 100644 docs/interop/vhost-user.json

-- 
2.20.1.519.g8feddda32c