[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [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(-)

-- 
2.7.4


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.