[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v1 0/4] Add feature to start QEMU without vhost-
From: |
Michael S. Tsirkin |
Subject: |
Re: [Qemu-devel] [PATCH v1 0/4] Add feature to start QEMU without vhost-user backend |
Date: |
Mon, 15 Jun 2015 16:21:47 +0200 |
On Mon, Jun 15, 2015 at 03:12:28PM +0100, Stefan Hajnoczi wrote:
> On Thu, Jun 11, 2015 at 10:56:06AM +0900, Tetsuya Mukawa wrote:
> > On 2015/05/29 13:42, Tetsuya Mukawa wrote:
> > > Hi guys,
> > >
> > > Here are patches to add feature to start QEMU without vhost-user backend.
> > > Currently, if we want to use vhost-user backend, the backend must start
> > > before
> > > QEMU. Also, if QEMU or the backend is closed unexpectedly, there is no
> > > way to
> > > recover without restarting both applications. Practically, it's not
> > > useful.
> > >
> > > This patch series adds following features.
> > > - QEMU can start before the backend.
> > > - QEMU or the backend can restart anytime.
> > > connectivity will be recovered automatically, when app starts again.
> > > (if QEMU is server, QEMU just wait reconnection)
> > > while lost connection, link status of virtio-net device is down,
> > > so virtio-net driver on the guest can know it
> > >
> > > To work like above, the patch introduces flags to specify features
> > > vhost-user
> > > backend will support.
> > >
> > > Here are examples.
> > > ('backend_mrg_rxbuf' is an one of new flags. To know all, check the last
> > > patch)
> > >
> > > * QEMU is configured as vhost-user client.
> > > -chardev socket,id=chr0,path=/tmp/sock,reconnect=3 \
> > > -netdev vhost-user,id=net0,chardev=chr0,vhostforce,backend_mrg_rxbuf
> > > \
> > > -device virtio-net-pci,netdev=net0 \
> > >
> > > * QEMU is configured as vhost-user server.
> > > -chardev socket,id=chr0,path=/tmp/sock,server,nowait \
> > > -netdev vhost-user,id=net0,chardev=chr0,vhostforce,backend_mrg_rxbuf
> > > \
> > > -device virtio-net-pci,netdev=net0 \
> > >
> > > When virtio-net device is configured by virtio-net driver, QEMU should
> > > know
> > > vhost-user backend features. But if QEMU starts without the backend, QEMU
> > > cannot
> > > know it. So above the feature values specified by user will be used as
> > > features
> > > the backend will support.
> > >
> > > When connection between QEMU and the backend is established, QEMU checkes
> > > feature
> > > values of the backend to make sure the expected features are provided.
> > > If it doesn't, the connection will be closed by QEMU.
> > >
> > > Regards,
> > > Tetsuya
> > >
> > > ----------
> > > Changes
> > > ----------
> > > - Changes from RFC patch
> > > The last patch of this series was changed like below.
> > > - Rebase to latest master.
> > > - Remove needless has_backend_feature variable.
> > > - Change user interface to be able to specify each feature by name.
> > > - Add (Since 2.4) to schema file.
> > > - Fix commit title and body.
> > >
> > >
> > > Tetsuya Mukawa (4):
> > > vhost-user: Add ability to know vhost-user backend disconnection
> > > vhost-user: Shutdown vhost-user connection when wrong messages are
> > > passed
> > > vhost-user: Enable 'nowait' and 'reconnect' option
> > > vhost-user: Add new option to specify vhost-user backend features
> > >
> > > hw/net/vhost_net.c | 6 ++-
> > > hw/net/virtio-net.c | 13 +++++
> > > hw/scsi/vhost-scsi.c | 2 +-
> > > hw/virtio/vhost-user.c | 24 ++++++---
> > > hw/virtio/vhost.c | 7 ++-
> > > include/hw/virtio/vhost.h | 3 +-
> > > include/hw/virtio/virtio-net.h | 1 +
> > > include/net/net.h | 3 ++
> > > include/net/vhost_net.h | 1 +
> > > include/sysemu/char.h | 7 +++
> > > net/net.c | 9 ++++
> > > net/tap.c | 1 +
> > > net/vhost-user.c | 69 ++++++++++++++++++++++++-
> > > qapi-schema.json | 114
> > > +++++++++++++++++++++++++++++++++++------
> > > qemu-char.c | 15 ++++++
> > > qemu-options.hx | 10 ++++
> > > 16 files changed, 256 insertions(+), 29 deletions(-)
> > >
> >
> > Ping.
> >
> > Could someone please review this patches?
> > http://patchwork.ozlabs.org/project/qemu-devel/list/?submitter=66139
>
> Nikolay, Jason, or Michael:
> Can one of you please step up to become maintainer of net/vhost-user.c.
>
> I don't follow vhost-user development much and can't give good review
> feedback about the vhost-user specific aspects.
>
> Please send a patch that adds you to the MAINTAINERS file for
> net/vhost-user.c. Then either include merged patches in Michael's pull
> requests or ask me (and in the future, Jason) to include them in net
> pull requests.
>
> Stefan
Done.