From: marcandre.lureau@redhat.com
To: qemu-devel@nongnu.org
Cc: "Michael S . Tsirkin" <mst@redhat.com>,
"Tetsuya Mukawa" <mukawa@igel.co.jp>,
jonshin@cisco.com, "Ilya Maximets" <i.maximets@samsung.com>,
"Yuanhan Liu" <yuanhan.liu@linux.intel.com>,
"Marc-André Lureau" <marcandre.lureau@redhat.com>
Subject: [Qemu-devel] [PATCH 00/10] vhost-user: simple reconnection support
Date: Mon, 6 Jun 2016 18:44:58 +0200 [thread overview]
Message-ID: <1465231508-30183-1-git-send-email-marcandre.lureau@redhat.com> (raw)
From: Marc-André Lureau <marcandre.lureau@redhat.com>
Hi,
In a previous series "RFCv2: vhost-user: shutdown and reconnection", I
proposed to add a new slave request to handle graceful shutdown, for
both qemu configuration, server or client, while keeping the guest
running with link down status.
However, for the simple case where qemu is configured as server, and
the backend processes packets in order and disconnects, it is possible
for the backend to recover after reconnection by discarding the qemu
SET_VRING_BASE value and resuming from the used->index instead. This
simplifies the reconnection support in this particular situation (it
would make sense to have the backend declare this behaviour with an
extra flag)
The guest won't be notified of link status change and queues may not
be processed in a timely manner, also qemu may assert if some
vhost-user commands are happening while the backend is disconnected.
So the reconnection must happen "quickly enough" here. In order to
keep the series relatively small, these further problems will be
addressed later.
These series demonstrates a simple reconnect support for vubr
(configured as client and qemu as server), includes some nice to
have fixes and a simple test.
rfcv3->v1:
- rebased
- added add a dummy vhost_net_get_acked_features()
implementation for !VHOST_NET
- changed vubr->tests/vhost-user-bridge in summary
- made the test silent by using a subprocess
- added s-o-b/tested-by/r-b tags
Marc-André Lureau (8):
tests/vhost-user-bridge: add client mode
tests/vhost-user-bridge: workaround stale vring base
vhost-user: disconnect on start failure
vhost-net: do not crash if backend is not present
vhost-net: save & restore vhost-user acked features
vhost-net: save & restore vring enable state
tests: append i386 tests
test: start vhost-user reconnect test
Tetsuya Mukawa (2):
vhost-user: add ability to know vhost-user backend disconnection
qemu-char: add qemu_chr_disconnect to close a fd accepted by listen fd
hw/net/vhost_net.c | 45 ++++++++++++++-
include/net/net.h | 1 +
include/net/vhost-user.h | 1 +
include/net/vhost_net.h | 3 +
include/sysemu/char.h | 7 +++
net/vhost-user.c | 32 ++++++++++-
qemu-char.c | 8 +++
tests/Makefile | 2 +-
tests/vhost-user-bridge.c | 45 +++++++++++----
tests/vhost-user-test.c | 136 ++++++++++++++++++++++++++++++++++++++++------
10 files changed, 247 insertions(+), 33 deletions(-)
--
2.7.4
next reply other threads:[~2016-06-06 16:45 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-06-06 16:44 marcandre.lureau [this message]
2016-06-06 16:44 ` [Qemu-devel] [PATCH 01/10] vhost-user: add ability to know vhost-user backend disconnection marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 02/10] tests/vhost-user-bridge: add client mode marcandre.lureau
2016-06-09 9:53 ` Victor Kaplansky
2016-06-09 10:11 ` Marc-André Lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 03/10] tests/vhost-user-bridge: workaround stale vring base marcandre.lureau
2016-06-09 10:07 ` Victor Kaplansky
2016-06-09 10:25 ` Marc-André Lureau
2016-06-13 20:45 ` Michael S. Tsirkin
2016-06-06 16:45 ` [Qemu-devel] [PATCH 04/10] qemu-char: add qemu_chr_disconnect to close a fd accepted by listen fd marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 05/10] vhost-user: disconnect on start failure marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 06/10] vhost-net: do not crash if backend is not present marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 07/10] vhost-net: save & restore vhost-user acked features marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 08/10] vhost-net: save & restore vring enable state marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 09/10] tests: append i386 tests marcandre.lureau
2016-06-06 16:45 ` [Qemu-devel] [PATCH 10/10] test: start vhost-user reconnect test marcandre.lureau
2016-06-09 14:14 ` [Qemu-devel] [PATCH 00/10] vhost-user: simple reconnection support Victor Kaplansky
2016-06-13 18:19 ` Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1465231508-30183-1-git-send-email-marcandre.lureau@redhat.com \
--to=marcandre.lureau@redhat.com \
--cc=i.maximets@samsung.com \
--cc=jonshin@cisco.com \
--cc=mst@redhat.com \
--cc=mukawa@igel.co.jp \
--cc=qemu-devel@nongnu.org \
--cc=yuanhan.liu@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).