All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv3 0/11] Xen: FIFO-based event channel ABI
@ 2013-09-13 16:56 David Vrabel
  2013-09-13 16:56 ` [PATCH 01/11] debug: remove some event channel info from the 'i' and 'q' debug keys David Vrabel
                   ` (10 more replies)
  0 siblings, 11 replies; 22+ messages in thread
From: David Vrabel @ 2013-09-13 16:56 UTC (permalink / raw)
  To: xen-devel; +Cc: Keir Fraser, David Vrabel, Jan Beulich

This is a complete implementation of the hypervisor parts of the
FIFO-based event channel ABI described in this design document:

http://xenbits.xen.org/people/dvrabel/event-channels-E.pdf

Changes in draft E are:

- Control blocks are no longer required to be in the same page as the
  vcpu_info.
- Added padding to struct evtchn_init_control.

Remaining work:

* Extend libxl and xl to allow the event channel limit to be set.
  Without this DomUs are limited the default number of event channels
  (4096).  I use a trivial C program to set the limit.

* Decide whether EVTCHNOP_set_limit should be a DOMCTL instead.

* Allocation of struct event channels to use less memory when fewer
  event channels are in use. I plan to have d->evtchns point to a page
  contains N struct evtchns and M group pointers with the remainder
  event channels being indexed by group/bucket in patch 6.

Patch 1-4 do some preparatory work for supporting alternate ABIs.

Patch 5-6 expand the number of evtchn objects a domain may have to
changing how they are allocated.

Patch 7 adds the ABI.

Patch 8 adds the EVTCHNOP_set_priority implementation.  This will
return -ENOSYS for ABIs that do not support priority.

Patch 9-10 adds the EVTCHNOP_set_limit implementation and adds a
function to libxc. This will also work with the 2-level ABI.

Patch 11 adds the FIFO-based ABI implementation.

Changes in v3:

- Updates for Draft E of the design.
- Store priority in struct evtchn.
- Implement set_priority with generic code + hook.
- Implement set_limit and add libxc function.
- Add ABI specific output to 'e' debug key.

Changes in v2:

- Updates for Draft D of the design.
- 130,000+ event channels are now supported.
- event_port.c -> event_2l.c and only contains 2l functions.
- Addresses various review comments
  - int -> unsigned in lots of places
  - use write_atomic() to set HEAD
  - removed MAX_EVTCHNS
  - evtchn_ops are const.
- Pack struct evtchns better to reduce memory needed.

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

end of thread, other threads:[~2013-09-16 10:57 UTC | newest]

Thread overview: 22+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-09-13 16:56 [PATCHv3 0/11] Xen: FIFO-based event channel ABI David Vrabel
2013-09-13 16:56 ` [PATCH 01/11] debug: remove some event channel info from the 'i' and 'q' debug keys David Vrabel
2013-09-13 16:56 ` [PATCH 02/11] evtchn: refactor low-level event channel port ops David Vrabel
2013-09-15 13:06   ` Stefano Stabellini
2013-09-15 13:11     ` Stefano Stabellini
2013-09-16 10:08       ` David Vrabel
2013-09-15 13:20     ` Ian Campbell
2013-09-13 16:56 ` [PATCH 03/11] evtchn: print ABI specific state with the 'e' debug key David Vrabel
2013-09-13 16:56 ` [PATCH 04/11] evtchn: use a per-domain variable for the max number of event channels David Vrabel
2013-09-13 16:56 ` [PATCH 05/11] evtchn: dynamically allocate d->evtchn David Vrabel
2013-09-13 16:56 ` [PATCH 06/11] evtchn: alter internal object handling scheme David Vrabel
2013-09-13 16:56 ` [PATCH 07/11] evtchn: add FIFO-based event channel ABI David Vrabel
2013-09-16  6:59   ` Jan Beulich
2013-09-13 16:56 ` [PATCH 08/11] evtchn: implement EVTCHNOP_set_priority and add the set_priority hook David Vrabel
2013-09-13 16:56 ` [PATCH 09/11] evtchn: implement EVTCHNOP_set_limit David Vrabel
2013-09-13 18:32   ` Daniel De Graaf
2013-09-16  7:07   ` Jan Beulich
2013-09-16 10:00     ` David Vrabel
2013-09-16 10:33       ` Jan Beulich
2013-09-16 10:57         ` David Vrabel
2013-09-13 16:56 ` [PATCH 10/11] libxc: add xc_evtchn_set_limit() David Vrabel
2013-09-13 16:56 ` [PATCH 11/11] evtchn: add FIFO-based event channel hypercalls and port ops David Vrabel

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.