All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH v6 00/24] vhost-user: add migration support
@ 2015-09-29 16:34 marcandre.lureau
  2015-09-29 16:34 ` [Qemu-devel] [PATCH v6 01/24] vhost-user: unit test for new messages marcandre.lureau
                   ` (23 more replies)
  0 siblings, 24 replies; 32+ messages in thread
From: marcandre.lureau @ 2015-09-29 16:34 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.

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 (20):
  configure: probe for memfd
  linux-headers: add unistd.h
  util: add linux-only memfd fallback
  util: add memfd helpers
  memfd: add fallback for memfd
  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-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

Michael S. Tsirkin (1):
  vhost-user: unit test for new messages

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             |  576 ++++++++++++-------
 hw/virtio/vhost.c                  |  102 ++--
 include/hw/virtio/vhost-backend.h  |   77 ++-
 include/hw/virtio/vhost.h          |   15 +-
 include/net/vhost_net.h            |    1 +
 include/qemu/memfd.h               |   24 +
 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            |  390 +++++++++++--
 trace-events                       |    3 +
 util/Makefile.objs                 |    2 +-
 util/memfd.c                       |  129 +++++
 27 files changed, 4673 insertions(+), 333 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] 32+ messages in thread

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

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

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.