|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH v4 00/16] xenguest optimisations
From: Frediano Ziglio <frediano.ziglio@xxxxxxxxxx>
Reduce some number of parts passed to writev.
Avoid possible allocation sending data with writev.
Reduce number of allocations sending memory state.
Implement and use new Xen and Linux kernel ABI to copy foreign memory.
This new ABI allows to replace theexpensive map/copy/unmap sequence
with a single call.
Changes since v1:
- add commit to cache up to 4 pages in hypercall;
- add other 2 commits reducing chunks passed to write/writev.
Changes since v2:
- update patches commit prefixes;
- add other 2 optisations.
Changes since v3:
- address some comments;
- add patches for foreign copy optimisation.
Edwin Török (3):
libs/guest: allocate various migration arrays just once
libs/call: cache up to 4 pages in hypercall bounce buffers
PoC: libs/guest: use foreign copy during migration
Frediano Ziglio (12):
libs/guest: Reduce number of parts in write_split_record
libs/guest: Reduce number of I/O vectors in write_batch
libs/guest: Reduce number of I/O vectors in write_batch
libs/guest: Use a single write_exact in write_headers
libs/guest: avoids using 2 indexes
libs/guest: fill directly iov structure
libs/ctrl: Allows writev_exact to change iov array
libs/guest: add xg_foreignmemory_copy_{from,to}
xen: implement new foreign copy hypercall
privcmd: Add definition for new Linux privcmd to access new Xen
hypercall
libs/guest: use new hypercall if available
libs/guest: finalize PoC
public-abi/memory.h | 40 ++++-
tools/include/xen-sys/Linux/privcmd.h | 10 ++
tools/libs/call/buffer.c | 28 ++--
tools/libs/call/core.c | 3 +-
tools/libs/call/private.h | 8 +-
tools/libs/ctrl/xc_private.c | 26 +--
tools/libs/ctrl/xc_private.h | 2 +-
tools/libs/guest/xg_sr_common.c | 95 ++++++++++-
tools/libs/guest/xg_sr_common.h | 21 +++
tools/libs/guest/xg_sr_restore.c | 100 ++++++------
tools/libs/guest/xg_sr_save.c | 225 +++++++++++---------------
xen/common/memory.c | 133 +++++++++++++++
xen/include/public/memory.h | 40 ++++-
13 files changed, 512 insertions(+), 219 deletions(-)
--
2.54.0
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |