[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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |