From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:50491) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0BA7-0002YE-W5 for qemu-devel@nongnu.org; Tue, 10 May 2016 13:09:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1b0BA2-0007z6-P3 for qemu-devel@nongnu.org; Tue, 10 May 2016 13:09:35 -0400 Received: from mga01.intel.com ([192.55.52.88]:44871) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1b0BA2-0007yR-Hf for qemu-devel@nongnu.org; Tue, 10 May 2016 13:09:30 -0400 Date: Tue, 10 May 2016 10:14:01 -0700 From: Yuanhan Liu Message-ID: <20160510171401.GP5641@yliu-dev.sh.intel.com> References: <1462896240-30999-1-git-send-email-marcandre.lureau@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <1462896240-30999-1-git-send-email-marcandre.lureau@redhat.com> Subject: Re: [Qemu-devel] [PATCH 00/10] RFCv3: 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 , "Xie, Huawei" Hi Marc, I was also thinking we should do it in this way first. That simplfies things. So, feel free to add: Tested-by: Yuanhan Liu Reviewed-by: Yuanhan Liu (well, I didn't review the test case carefully). Thanks. --yliu On Tue, May 10, 2016 at 06:03:50PM +0200, marcandre.lureau@redhat.com wrote: > From: Marc-André Lureau > > 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