From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:33104) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bB0jS-0002ue-U5 for qemu-devel@nongnu.org; Thu, 09 Jun 2016 10:14:52 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bB0jO-00016k-Ls for qemu-devel@nongnu.org; Thu, 09 Jun 2016 10:14:49 -0400 Received: from mx1.redhat.com ([209.132.183.28]:42689) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bB0jO-00016g-Dk for qemu-devel@nongnu.org; Thu, 09 Jun 2016 10:14:46 -0400 Date: Thu, 9 Jun 2016 17:14:42 +0300 From: Victor Kaplansky Message-ID: <20160609171243-mutt-send-email-victork@redhat.com> References: <1465231508-30183-1-git-send-email-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline In-Reply-To: <1465231508-30183-1-git-send-email-marcandre.lureau@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH 00/10] vhost-user: simple reconnection support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: marcandre.lureau@redhat.com Cc: qemu-devel@nongnu.org, "Michael S . Tsirkin" , Tetsuya Mukawa , jonshin@cisco.com, Ilya Maximets , Yuanhan Liu Hi MST, I've reviewed the patches and they are fine. >>From my perspective we can pull them into upstream. On Mon, Jun 06, 2016 at 06:44:58PM +0200, marcandre.lureau@redhat.com wro= te: > From: Marc-Andr=E9 Lureau >=20 > Hi, >=20 > 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. >=20 > 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) >=20 > 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. >=20 > 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. >=20 > 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 >=20 > Marc-Andr=E9 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 >=20 > 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 f= d >=20 > 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(-) >=20 > --=20 > 2.7.4 >=20 >=20