qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/10] RFCv3: vhost-user: simple reconnection support
@ 2016-05-10 16:03 marcandre.lureau
  2016-05-10 16:03 ` [Qemu-devel] [PATCH 01/10] vhost-user: add ability to know vhost-user backend disconnection marcandre.lureau
                   ` (11 more replies)
  0 siblings, 12 replies; 22+ messages in thread
From: marcandre.lureau @ 2016-05-10 16:03 UTC (permalink / raw)
  To: qemu-devel
  Cc: Michael S . Tsirkin, Tetsuya Mukawa, jonshin, Ilya Maximets,
	Yuanhan Liu, Marc-André Lureau

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.

Marc-André Lureau (8):
  vubr: add client mode
  vubr: 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        |  39 ++++++++++++++-
 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   | 123 +++++++++++++++++++++++++++++++++++++++-------
 10 files changed, 228 insertions(+), 33 deletions(-)

-- 
2.7.4

^ permalink raw reply	[flat|nested] 22+ messages in thread

end of thread, other threads:[~2016-06-06  9:50 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-10 16:03 [Qemu-devel] [PATCH 00/10] RFCv3: vhost-user: simple reconnection support marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 01/10] vhost-user: add ability to know vhost-user backend disconnection marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 02/10] vubr: add client mode marcandre.lureau
2016-05-10 17:19   ` Yuanhan Liu
2016-05-10 18:08     ` Marc-André Lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 03/10] vubr: workaround stale vring base marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 04/10] qemu-char: add qemu_chr_disconnect to close a fd accepted by listen fd marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 05/10] vhost-user: disconnect on start failure marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 06/10] vhost-net: do not crash if backend is not present marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 07/10] vhost-net: save & restore vhost-user acked features marcandre.lureau
2016-06-06  9:06   ` Yuanhan Liu
2016-06-06  9:50     ` Marc-André Lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 08/10] vhost-net: save & restore vring enable state marcandre.lureau
2016-05-10 16:03 ` [Qemu-devel] [PATCH 09/10] tests: append i386 tests marcandre.lureau
2016-05-10 16:04 ` [Qemu-devel] [PATCH 10/10] test: start vhost-user reconnect test marcandre.lureau
2016-05-10 16:19 ` [Qemu-devel] [PATCH 00/10] RFCv3: vhost-user: simple reconnection support Michael S. Tsirkin
2016-05-10 16:28   ` Marc-André Lureau
2016-05-13 18:30     ` Marc-André Lureau
2016-05-15  9:42       ` Michael S. Tsirkin
2016-05-23 13:40         ` Yuanhan Liu
2016-05-24 13:24           ` Marc-André Lureau
2016-05-10 17:14 ` Yuanhan Liu

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).