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

Marc-André Lureau posted 13 patches 5 years, 2 months 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
Maintainers: Kevin Wolf <kwolf@redhat.com>, Gonglei <arei.gonglei@huawei.com>, Paolo Bonzini <pbonzini@redhat.com>, Max Reitz <mreitz@redhat.com>, Gerd Hoffmann <kraxel@redhat.com>, Fam Zheng <fam@euphon.net>, Jason Wang <jasowang@redhat.com>, "Michael S. Tsirkin" <mst@redhat.com>
There is a newer version of this series
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 5 years, 2 months 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


Re: [Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input
Posted by Michael S. Tsirkin 5 years, 2 months ago
On Fri, Feb 08, 2019 at 12:23:44PM +0100, Marc-André Lureau wrote:
> 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

Gerd could you please review this?
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

Re: [Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input
Posted by Marc-André Lureau 5 years, 1 month ago
Hi

On Thu, Feb 21, 2019 at 5:09 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Fri, Feb 08, 2019 at 12:23:44PM +0100, Marc-André Lureau wrote:
> > 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
>
> Gerd could you please review this?
> Thanks!

Except the last patch that (to drop?), are you queuing this series or
expecting me to do something else?

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
>


-- 
Marc-André Lureau

Re: [Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input
Posted by Michael S. Tsirkin 5 years, 1 month ago
On Tue, Feb 26, 2019 at 05:38:32PM +0100, Marc-André Lureau wrote:
> Hi
> 
> On Thu, Feb 21, 2019 at 5:09 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Fri, Feb 08, 2019 at 12:23:44PM +0100, Marc-André Lureau wrote:
> > > 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
> >
> > Gerd could you please review this?
> > Thanks!
> 
> Except the last patch that (to drop?), are you queuing this series or
> expecting me to do something else?
> 
> thanks

Besides acks I also see unaddressed comments by Daniel and others.

> >
> > > 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
> >
> 
> 
> -- 
> Marc-André Lureau

Re: [Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input
Posted by Marc-André Lureau 5 years, 1 month ago
Hi

On Tue, Feb 26, 2019 at 7:52 PM Michael S. Tsirkin <mst@redhat.com> wrote:
>
> On Tue, Feb 26, 2019 at 05:38:32PM +0100, Marc-André Lureau wrote:
> > Hi
> >
> > On Thu, Feb 21, 2019 at 5:09 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > >
> > > On Fri, Feb 08, 2019 at 12:23:44PM +0100, Marc-André Lureau wrote:
> > > > 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
> > >
> > > Gerd could you please review this?
> > > Thanks!
> >
> > Except the last patch that (to drop?), are you queuing this series or
> > expecting me to do something else?
> >
> > thanks
>
> Besides acks I also see unaddressed comments by Daniel and others.

From v3? Yes, there is one field in a struct that should be removed, I
forgot. Gerd can do that on commit, or I can resend the whole thing.

https://patchew.org/QEMU/20190208112357.31615-1-marcandre.lureau@redhat.com/20190208112357.31615-7-marcandre.lureau@redhat.com/

Anything else I missed from earlier versions?

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
> > >
> >
> >
> > --
> > Marc-André Lureau



-- 
Marc-André Lureau

Re: [Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input
Posted by Michael S. Tsirkin 5 years, 1 month ago
On Tue, Feb 26, 2019 at 08:07:35PM +0100, Marc-André Lureau wrote:
> Hi
> 
> On Tue, Feb 26, 2019 at 7:52 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Tue, Feb 26, 2019 at 05:38:32PM +0100, Marc-André Lureau wrote:
> > > Hi
> > >
> > > On Thu, Feb 21, 2019 at 5:09 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> > > >
> > > > On Fri, Feb 08, 2019 at 12:23:44PM +0100, Marc-André Lureau wrote:
> > > > > 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
> > > >
> > > > Gerd could you please review this?
> > > > Thanks!
> > >
> > > Except the last patch that (to drop?), are you queuing this series or
> > > expecting me to do something else?
> > >
> > > thanks
> >
> > Besides acks I also see unaddressed comments by Daniel and others.
> 
> >From v3? Yes, there is one field in a struct that should be removed, I
> forgot. Gerd can do that on commit, or I can resend the whole thing.
> 
> https://patchew.org/QEMU/20190208112357.31615-1-marcandre.lureau@redhat.com/20190208112357.31615-7-marcandre.lureau@redhat.com/
> 
> Anything else I missed from earlier versions?
> 
> thanks

That's all I have. But I think it's best to post a new version
addressing all comments so people can review the final version.
And pls indicate which tree you would like to merge it through.

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
> > > >
> > >
> > >
> > > --
> > > Marc-André Lureau
> 
> 
> 
> -- 
> Marc-André Lureau

Re: [Qemu-devel] [PATCH v3 00/13] vhost-user-backend & vhost-user-input
Posted by Michael S. Tsirkin 5 years, 1 month ago
On Tue, Feb 26, 2019 at 05:38:32PM +0100, Marc-André Lureau wrote:
> Hi
> 
> On Thu, Feb 21, 2019 at 5:09 PM Michael S. Tsirkin <mst@redhat.com> wrote:
> >
> > On Fri, Feb 08, 2019 at 12:23:44PM +0100, Marc-André Lureau wrote:
> > > 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
> >
> > Gerd could you please review this?
> > Thanks!
> 
> Except the last patch that (to drop?), are you queuing this series or
> expecting me to do something else?
> 
> thanks

I think that preferably we'd need Gerd to ack these.
He's the most qualified to look at virtio input.

> >
> > > 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
> >
> 
> 
> -- 
> Marc-André Lureau