Skip to content

RFC Slotted channels for sync vm_events

Petre Pircalabu xen-devel 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest6 patches 43 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6tools/libxc: Consistent usage of xc_vm_event_* interfacetools/libxc/include/xenctrl.h tools/libxc/xc_mem_paging.c tools/libxc/xc_memshr.c +4 more+62 -1830 replies
2/6tools/libxc: Define VM_EVENT typetools/libxc/xc_mem_paging.c tools/libxc/xc_monitor.c tools/libxc/xc_private.h +3 more+73 -726 replies
3/6vm_event: Refactor vm_event_domain implementationxen/arch/arm/mem_access.c xen/arch/x86/mm/mem_access.c xen/arch/x86/mm/mem_paging.c +8 more+312 -2732 replies
4/6vm_event: Use slotted channels for sync requests.tools/libxc/include/xenctrl.h tools/libxc/xc_monitor.c tools/libxc/xc_private.h +7 more+660 -4315 replies
5/6xen-access: add support for slotted channel vm_eventstools/tests/xen-access/xen-access.c+441 -1040 replies
6/6xc_version: add vm_event interface versiontools/libxc/xc_private.c xen/common/kernel.c xen/include/public/version.h+9 -09 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

Cover letter [PATCH RFC 0/6] Slotted channels for sync vm_events

This patchset is a rework of the "multi-page ring buffer" for vm_events patch based on Andrew Cooper's comments.
For synchronous vm_events the ring waitqueue logic was unnecessary as the vcpu sending the request was blocked until a response was received. To simplify the request/response mechanism, an array of slotted channels was created, one per vcpu. Each vcpu puts the request in the corresponding slot and blocks until the response is received.

I'm sending this patch as a RFC because, while I'm still working on way to measure the overall performance improvement, your feedback would be a great assistance.

Petre Pircalabu (6):
tools/libxc: Consistent usage of xc_vm_event_* interface tools/libxc: Define VM_EVENT type
vm_event: Refactor vm_event_domain implementation
vm_event: Use slotted channels for sync requests.
xen-access: add support for slotted channel vm_events
xc_version: add vm_event interface version

 tools/libxc/include/xenctrl.h       |  60 +--
 tools/libxc/xc_mem_paging.c         |  23 +-
 tools/libxc/xc_memshr.c             |  34 --
 tools/libxc/xc_monitor.c            |  67 ++-
 tools/libxc/xc_private.c            |   3 +
 tools/libxc/xc_private.h            |  22 +-
 tools/libxc/xc_vm_event.c           | 192 ++++---
 tools/tests/xen-access/xen-access.c | 545 ++++++++++++++++----
 tools/xenpaging/xenpaging.c         |  42 +-
 xen/arch/arm/mem_access.c           |   2 +-
 xen/arch/x86/mm.c                   |   7 +
 xen/arch/x86/mm/mem_access.c        |   4 +-
 xen/arch/x86/mm/mem_paging.c        |   2 +-
 xen/arch/x86/mm/mem_sharing.c       |   5 +-
 xen/arch/x86/mm/p2m.c               |  10 +-
 xen/common/kernel.c                 |   3 +
 xen/common/mem_access.c             |   2 +-
 xen/common/monitor.c                |   4 +-
 xen/common/vm_event.c               | 972 +++++++++++++++++++++++++++---------
 xen/drivers/passthrough/pci.c       |   2 +-
 xen/include/public/domctl.h         |  64 ++-
 xen/include/public/memory.h         |   2 +
 xen/include/public/version.h        |   3 +
 xen/include/public/vm_event.h       |  15 +
 xen/include/xen/sched.h             |  25 +-
 xen/include/xen/vm_event.h          |  30 +-
 26 files changed, 1511 insertions(+), 629 deletions(-)
Signature · 7 lines
2.7.4


_______________________________________________
Xen-devel mailing list
[email protected]
https://lists.xenproject.org/mailman/listinfo/xen-devel