xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* [PATCH RFC 0/6] Slotted channels for sync vm_events
@ 2018-12-19 18:52 Petre Pircalabu
  2018-12-19 18:52 ` [RFC PATCH 1/6] tools/libxc: Consistent usage of xc_vm_event_* interface Petre Pircalabu
                   ` (7 more replies)
  0 siblings, 8 replies; 50+ messages in thread
From: Petre Pircalabu @ 2018-12-19 18:52 UTC (permalink / raw)
  To: xen-devel
  Cc: Petre Pircalabu, Stefano Stabellini, Wei Liu, Razvan Cojocaru,
	Konrad Rzeszutek Wilk, George Dunlap, Andrew Cooper, Ian Jackson,
	Tim Deegan, Julien Grall, Tamas K Lengyel, Jan Beulich,
	Roger Pau Monné

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@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

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

end of thread, other threads:[~2019-04-02 15:01 UTC | newest]

Thread overview: 50+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-12-19 18:52 [PATCH RFC 0/6] Slotted channels for sync vm_events Petre Pircalabu
2018-12-19 18:52 ` [RFC PATCH 1/6] tools/libxc: Consistent usage of xc_vm_event_* interface Petre Pircalabu
2018-12-19 18:52 ` [RFC PATCH 2/6] tools/libxc: Define VM_EVENT type Petre Pircalabu
2018-12-19 22:13   ` Tamas K Lengyel
2019-01-02 11:11   ` Wei Liu
2019-01-08 15:01     ` Petre Ovidiu PIRCALABU
2019-01-25 14:16       ` Wei Liu
2019-01-08 16:25   ` Jan Beulich
2019-02-11 12:30     ` Petre Ovidiu PIRCALABU
2018-12-19 18:52 ` [RFC PATCH 3/6] vm_event: Refactor vm_event_domain implementation Petre Pircalabu
2018-12-19 22:26   ` Tamas K Lengyel
2018-12-20 12:39     ` Petre Ovidiu PIRCALABU
2018-12-19 18:52 ` [RFC PATCH 4/6] vm_event: Use slotted channels for sync requests Petre Pircalabu
2018-12-20 12:05   ` Paul Durrant
2018-12-20 14:25     ` Petre Ovidiu PIRCALABU
2018-12-20 14:28       ` Paul Durrant
2018-12-20 15:03         ` Jan Beulich
2018-12-24 10:37         ` Julien Grall
2019-01-09 16:21         ` Razvan Cojocaru
2019-01-10  9:58           ` Paul Durrant
2019-01-10 15:28             ` Razvan Cojocaru
2019-01-08 14:49     ` Petre Ovidiu PIRCALABU
2019-01-08 15:08       ` Paul Durrant
2019-01-08 16:13         ` Petre Ovidiu PIRCALABU
2019-01-08 16:25           ` Paul Durrant
2019-01-10 15:30     ` Petre Ovidiu PIRCALABU
2019-01-10 15:46       ` Paul Durrant
2019-04-02 14:47         ` Andrew Cooper
2018-12-19 18:52 ` [RFC PATCH 5/6] xen-access: add support for slotted channel vm_events Petre Pircalabu
2018-12-19 18:52 ` [RFC PATCH 6/6] xc_version: add vm_event interface version Petre Pircalabu
2019-01-08 16:27   ` Jan Beulich
2019-01-08 16:37     ` Razvan Cojocaru
2019-01-08 16:47       ` Jan Beulich
2019-01-09  9:11         ` Razvan Cojocaru
2019-02-12 16:57           ` Petre Ovidiu PIRCALABU
2019-02-12 17:14             ` Jan Beulich
2019-02-12 18:13       ` Tamas K Lengyel
2019-02-12 18:19         ` Razvan Cojocaru
2019-02-12 18:25           ` Tamas K Lengyel
2018-12-19 22:33 ` [PATCH RFC 0/6] Slotted channels for sync vm_events Tamas K Lengyel
2018-12-19 23:30   ` Andrew Cooper
2018-12-20 10:48   ` Petre Ovidiu PIRCALABU
2018-12-20 14:08     ` Tamas K Lengyel
2019-02-06 14:26 ` Petre Ovidiu PIRCALABU
2019-02-07 11:46   ` George Dunlap
2019-02-07 16:06     ` Petre Ovidiu PIRCALABU
2019-02-12 17:01       ` Tamas K Lengyel
2019-02-19 11:48         ` Razvan Cojocaru
2019-03-04 16:01           ` George Dunlap
2019-03-04 16:20             ` Tamas K Lengyel

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).