All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 00/16] xenguest optimisations
@ 2026-06-03 13:05 Frediano Ziglio
  2026-06-03 13:05 ` [PATCH v4 01/16] libs/guest: Reduce number of parts in write_split_record Frediano Ziglio
                   ` (15 more replies)
  0 siblings, 16 replies; 30+ messages in thread
From: Frediano Ziglio @ 2026-06-03 13:05 UTC (permalink / raw)
  To: xen-devel
  Cc: Frediano Ziglio, Jan Beulich, Andrew Cooper, Roger Pau Monné,
	Teddy Astie, Anthony PERARD, Juergen Gross

From: Frediano Ziglio <frediano.ziglio@citrix.com>

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



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

end of thread, other threads:[~2026-06-08 16:24 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-03 13:05 [PATCH v4 00/16] xenguest optimisations Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 01/16] libs/guest: Reduce number of parts in write_split_record Frediano Ziglio
2026-06-08 14:22   ` Roger Pau Monné
2026-06-03 13:05 ` [PATCH v4 02/16] libs/guest: Reduce number of I/O vectors in write_batch Frediano Ziglio
2026-06-08 14:42   ` Roger Pau Monné
2026-06-03 13:05 ` [PATCH v4 03/16] " Frediano Ziglio
2026-06-08 15:03   ` Roger Pau Monné
2026-06-03 13:05 ` [PATCH v4 04/16] libs/guest: Use a single write_exact in write_headers Frediano Ziglio
2026-06-08 15:26   ` Roger Pau Monné
2026-06-03 13:05 ` [PATCH v4 05/16] libs/guest: allocate various migration arrays just once Frediano Ziglio
2026-06-08 15:36   ` Andrew Cooper
2026-06-08 15:50     ` Roger Pau Monné
2026-06-08 15:49   ` Roger Pau Monné
2026-06-08 16:24     ` Andrew Cooper
2026-06-03 13:05 ` [PATCH v4 06/16] libs/call: cache up to 4 pages in hypercall bounce buffers Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 07/16] libs/guest: avoids using 2 indexes Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 08/16] libs/guest: fill directly iov structure Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 09/16] libs/ctrl: Allows writev_exact to change iov array Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 10/16] libs/guest: add xg_foreignmemory_copy_{from,to} Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 11/16] PoC: libs/guest: use foreign copy during migration Frediano Ziglio
2026-06-03 14:09   ` Andrew Cooper
2026-06-04 14:51     ` Frediano Ziglio
2026-06-03 13:05 ` [PATCH v4 12/16] xen: implement new foreign copy hypercall Frediano Ziglio
2026-06-03 13:39   ` Jan Beulich
2026-06-03 14:00     ` Andrew Cooper
2026-06-08 14:59   ` Teddy Astie
2026-06-03 13:06 ` [PATCH v4 13/16] privcmd: Add definition for new Linux privcmd to access new Xen hypercall Frediano Ziglio
2026-06-03 13:06 ` [PATCH v4 14/16] libs/guest: use new hypercall if available Frediano Ziglio
2026-06-03 13:06 ` [PATCH v4 15/16] libs/guest: finalize PoC Frediano Ziglio
2026-06-03 13:06 ` [PATCH Linux v4 16/16] xen/privcmd: Add new ABI to allow copying foreign memory Frediano Ziglio

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.