xen/events: Add the hypervisor interface for the FIFO-based event channels
authorDavid Vrabel <david.vrabel@citrix.com>
Fri, 15 Mar 2013 10:55:41 +0000 (10:55 +0000)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 6 Jan 2014 15:07:52 +0000 (10:07 -0500)
commitbf2bbe07f13846a90d4447521d87566d6f87bc0e
tree930d312f8d74a5892fb37429969de6016cc3eb6a
parent0dc0064add422bc0ef5165ebe9ece3052bbd457d
xen/events: Add the hypervisor interface for the FIFO-based event channels

Add the hypercall sub-ops and the structures for the shared data used
in the FIFO-based event channel ABI.

The design document for this new ABI is available here:

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

In summary, events are reported using a per-domain shared event array
of event words.  Each event word has PENDING, LINKED and MASKED bits
and a LINK field for pointing to the next event in the event queue.

There are 16 event queues (with different priorities) per-VCPU.

Key advantages of this new ABI include:

- Support for over 100,000 events (2^17).
- 16 different event priorities.
- Improved fairness in event latency through the use of FIFOs.

The ABI is available in Xen 4.4 and later.

Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
drivers/xen/events/events_2l.c
include/xen/interface/event_channel.h
include/xen/interface/xen.h