All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v7 00/24] vhost-user: add migration support
@ 2015-10-01 17:23 marcandre.lureau
  2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 01/24] configure: probe for memfd marcandre.lureau
                   ` (24 more replies)
  0 siblings, 25 replies; 41+ messages in thread
From: marcandre.lureau @ 2015-10-01 17:23 UTC (permalink / raw)
  To: qemu-devel
  Cc: haifeng.lin, mst, thibaut.collet, jasowang, pbonzini,
	Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

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.

The series includes "vhost user: Add live migration" patches from
Thibaut Collet.

v6->v7:
- add migration blocker if memfd failed
- add doc about the qemu_memfd_alloc() helper
- (rebase on top of Michael pci branch)

v5->v6:
- rebased
- fix protocol feature mask update
- add a patch from Thibault Collet using enum for features, and
  compute mask
- add unistd.h linux headers to help building memfd if missing on
  build host. Hopefully will be useful for other syscalls some day
- reorder/merge patches to share-allocate the log only if needed
- split the memfd helper to allow to drop the fallback code
- allow to call qemu_memfd_free() even if alloc failed
- add some missing spaces

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

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

v2->v3:
- changed some patch summary
- added migration tests
- added a patch to replace error message with a trace

The development branch I used is:
https://github.com/elmarco/qemu branch "vhost-user"

Marc-André Lureau (21):
  configure: probe for memfd
  linux-headers: add unistd.h
  util: add linux-only memfd fallback
  util: add memfd helpers
  util: add fallback for qemu_memfd_alloc()
  vhost: document log resizing
  vhost: add vhost_set_log_base op
  vhost-user: add vhost_user_requires_shm_log()
  vhost: alloc shareable log
  vhost-user: send log shm fd along with log_base
  vhost-user: add a migration blocker
  vhost: use a function for each call
  vhost-user: document migration log
  net: add trace_vhost_user_event
  vhost: add migration block if memfd failed
  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

Thibaut Collet (3):
  vhost user: add support of live migration
  vhost user: add rarp sending after live migration for legacy guest
  vhost-user: use an enum helper for features mask

 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             |  572 ++++++++++++-------
 hw/virtio/vhost.c                  |  121 ++--
 include/hw/virtio/vhost-backend.h  |   77 ++-
 include/hw/virtio/vhost.h          |   15 +-
 include/net/vhost_net.h            |    1 +
 include/qemu/memfd.h               |   26 +
 linux-headers/asm-arm/unistd.h     |  448 +++++++++++++++
 linux-headers/asm-arm64/kvm.h      |   37 +-
 linux-headers/asm-arm64/unistd.h   |   16 +
 linux-headers/asm-mips/unistd.h    | 1063 ++++++++++++++++++++++++++++++++++++
 linux-headers/asm-powerpc/unistd.h |  392 +++++++++++++
 linux-headers/asm-s390/unistd.h    |  404 ++++++++++++++
 linux-headers/asm-x86/unistd.h     |   15 +
 linux-headers/asm-x86/unistd_32.h  |  377 +++++++++++++
 linux-headers/asm-x86/unistd_64.h  |  330 +++++++++++
 linux-headers/asm-x86/unistd_x32.h |  319 +++++++++++
 net/vhost-user.c                   |   34 +-
 scripts/update-linux-headers.sh    |    7 +-
 tests/vhost-user-test.c            |  372 +++++++++++--
 trace-events                       |    3 +
 util/Makefile.objs                 |    9 +-
 util/memfd.c                       |  165 ++++++
 27 files changed, 4713 insertions(+), 335 deletions(-)
 create mode 100644 include/qemu/memfd.h
 create mode 100644 linux-headers/asm-arm/unistd.h
 create mode 100644 linux-headers/asm-arm64/unistd.h
 create mode 100644 linux-headers/asm-mips/unistd.h
 create mode 100644 linux-headers/asm-powerpc/unistd.h
 create mode 100644 linux-headers/asm-s390/unistd.h
 create mode 100644 linux-headers/asm-x86/unistd.h
 create mode 100644 linux-headers/asm-x86/unistd_32.h
 create mode 100644 linux-headers/asm-x86/unistd_64.h
 create mode 100644 linux-headers/asm-x86/unistd_x32.h
 create mode 100644 util/memfd.c

-- 
2.4.3

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

end of thread, other threads:[~2015-10-08 20:52 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-01 17:23 [Qemu-devel] [PATCH v7 00/24] vhost-user: add migration support marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 01/24] configure: probe for memfd marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 02/24] linux-headers: add unistd.h marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 03/24] util: add linux-only memfd fallback marcandre.lureau
2015-10-02 13:39   ` Michael S. Tsirkin
2015-10-02 13:56     ` Marc-André Lureau
2015-10-02 14:01       ` Michael S. Tsirkin
2015-10-02 15:57     ` Paolo Bonzini
2015-10-02 18:26       ` Marc-André Lureau
2015-10-02 18:35         ` Paolo Bonzini
2015-10-04  8:42       ` Michael S. Tsirkin
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 04/24] util: add memfd helpers marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 05/24] util: add fallback for qemu_memfd_alloc() marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 06/24] vhost: document log resizing marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 07/24] vhost: add vhost_set_log_base op marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 08/24] vhost-user: add vhost_user_requires_shm_log() marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 09/24] vhost: alloc shareable log marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 10/24] vhost-user: send log shm fd along with log_base marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 11/24] vhost-user: add a migration blocker marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 12/24] vhost: use a function for each call marcandre.lureau
2015-10-07 15:45   ` Thibaut Collet
2015-10-07 15:58     ` Marc-André Lureau
2015-10-07 16:04       ` Thibaut Collet
2015-10-07 16:08         ` Marc-André Lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 13/24] vhost-user: document migration log marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 14/24] net: add trace_vhost_user_event marcandre.lureau
2015-10-01 17:23 ` [Qemu-devel] [PATCH v7 15/24] vhost user: add support of live migration marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 16/24] vhost user: add rarp sending after live migration for legacy guest marcandre.lureau
2015-10-02 13:37   ` Michael S. Tsirkin
2015-10-02 13:55     ` Marc-André Lureau
2015-10-02 14:02       ` Michael S. Tsirkin
2015-10-02 14:38         ` Thibaut Collet
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 17/24] vhost-user: use an enum helper for features mask marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 18/24] vhost: add migration block if memfd failed marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 19/24] vhost-user-test: move wait_for_fds() out marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 20/24] vhost-user-test: remove useless static check marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 21/24] vhost-user-test: wrap server in TestServer struct marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 22/24] vhost-user-test: learn to tweak various qemu arguments marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 23/24] vhost-user-test: add live-migration test marcandre.lureau
2015-10-01 17:24 ` [Qemu-devel] [PATCH v7 24/24] vhost-user-test: check ownership during migration marcandre.lureau
2015-10-08 20:52 ` [Qemu-devel] [PATCH v7 00/24] vhost-user: add migration support Michael S. Tsirkin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.