From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:51511) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgBrx-0000ny-3X for qemu-devel@nongnu.org; Sun, 27 Sep 2015 09:19:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZgBru-0002h6-04 for qemu-devel@nongnu.org; Sun, 27 Sep 2015 09:19:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:32811) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZgBrt-0002gw-Og for qemu-devel@nongnu.org; Sun, 27 Sep 2015 09:19:53 -0400 Date: Sun, 27 Sep 2015 16:19:49 +0300 From: "Michael S. Tsirkin" Message-ID: <20150927161836-mutt-send-email-mst@redhat.com> References: <1443111741-4736-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: <1443111741-4736-1-git-send-email-marcandre.lureau@redhat.com> Content-Transfer-Encoding: quoted-printable Subject: Re: [Qemu-devel] [PATCH v5 00/21] vhost-user: add migration support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: marcandre.lureau@redhat.com Cc: haifeng.lin@huawei.com, thibaut.collet@6wind.com, jasowang@redhat.com, qemu-devel@nongnu.org, pbonzini@redhat.com On Thu, Sep 24, 2015 at 06:22:00PM +0200, marcandre.lureau@redhat.com wro= te: > From: Marc-Andr=E9 Lureau >=20 > Hi, >=20 > The following series implement shareable log for vhost-user to support > memory tracking during live migration. On qemu-side, the solution is > fairly straightfoward since vhost already supports the dirty log, only > vhost-user couldn't access the log memory until then. >=20 > The series includes "protocol feature negotiation" series proposed > earlier by Michael S. Tsirkinm and "vhost user: Add live migration" > series from Thibaut Collet . I applied patches 1-14 in my tree for now. This way you don't need to repost them. If you do change some of these you can post a fixup patch (with subject fixup! ) or tell me to drop some of the old patches. > v4->v5: > - rebase on top of last Michael S. Tsirkin PULL request > - block live migration if !PROTOCOL_F_LOG_SHMFD > - wait for a reply after SET_LOG_BASE > - split vhost_set_log_base from the rest of vhost_call refactoring > - use a seperate global vhost_log_shm >=20 > v3->v4: > - add the proto negotiation & the migration series > - replace the varargs vhost_call() approach for callbacks > - only share-allocate when the backend needs it >=20 > v2->v3: > - changed some patch summary > - added migration tests > - added a patch to replace error message with a trace >=20 > The development branch I used is: > https://github.com/elmarco/qemu branch "vhost-user" >=20 > Marc-Andr=E9 Lureau (18): > configure: probe for memfd > util: add linux-only memfd fallback > util: add memfd helpers > vhost: alloc shareable log > vhost: document log resizing > vhost: add vhost_set_log_base op > vhost-user: send log shm fd along with log_base > vhost-user: add a migration blocker > vhost: use a function for each call > vhost: only use shared log if in use by backend > vhost-user: document migration log > net: add trace_vhost_user_event > vhost-user-test: move wait_for_fds() out > vhost-user-test: remove useless static check > vhost-user-test: wrap server in TestServer struct > vhost-user-test: learn to tweak various qemu arguments > vhost-user-test: add live-migration test > vhost-user-test: check ownership during migration >=20 > Michael S. Tsirkin (1): > vhost-user: unit test for new messages >=20 > Thibaut Collet (2): > vhost user: add support of live migration > vhost user: add rarp sending after live migration for legacy guest >=20 > configure | 19 ++ > docs/specs/vhost-user.txt | 63 ++++- > hw/net/vhost_net.c | 35 ++- > hw/scsi/vhost-scsi.c | 7 +- > hw/virtio/vhost-backend.c | 121 +++++++- > hw/virtio/vhost-user.c | 571 ++++++++++++++++++++++++------= -------- > hw/virtio/vhost.c | 101 ++++--- > include/hw/virtio/vhost-backend.h | 77 ++++- > include/hw/virtio/vhost.h | 15 +- > include/net/vhost_net.h | 1 + > include/qemu/memfd.h | 24 ++ > net/vhost-user.c | 34 ++- > tests/vhost-user-test.c | 390 ++++++++++++++++++++++---- > trace-events | 3 + > util/Makefile.objs | 2 +- > util/memfd.c | 126 +++++++++ > 16 files changed, 1260 insertions(+), 329 deletions(-) > create mode 100644 include/qemu/memfd.h > create mode 100644 util/memfd.c >=20 > --=20 > 2.4.3