diff options
author | David Vrabel <david.vrabel@citrix.com> | 2013-10-14 10:20:02 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2013-10-14 10:20:02 +0200 |
commit | d2d50c2f308f8b5a9e30cb4a4bebf23aa81211f5 (patch) | |
tree | 188ff5255f86fca3cf2780a7f08e3a986ecb828c /xen/include/xen/sched.h | |
parent | ea963e094a01cbbac203f0252c28808cfdc7f8ed (diff) | |
download | xen-d2d50c2f308f8b5a9e30cb4a4bebf23aa81211f5.tar.gz xen-d2d50c2f308f8b5a9e30cb4a4bebf23aa81211f5.tar.bz2 xen-d2d50c2f308f8b5a9e30cb4a4bebf23aa81211f5.zip |
evtchn: add FIFO-based event channel ABI
Add the event channel hypercall sub-ops and the definitions for the
shared data structures for the FIFO-based event channel ABI.
The design document for this new ABI is available here:
http://xenbits.xen.org/people/dvrabel/event-channels-F.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.
Signed-off-by: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/include/xen/sched.h')
-rw-r--r-- | xen/include/xen/sched.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/xen/include/xen/sched.h b/xen/include/xen/sched.h index 2090a413d8..1bc6475402 100644 --- a/xen/include/xen/sched.h +++ b/xen/include/xen/sched.h @@ -61,7 +61,7 @@ extern struct domain *dom0; #define next_power_of_2(x) (__RDU32((x)-1) + 1) /* Maximum number of event channels for any ABI. */ -#define MAX_NR_EVTCHNS NR_EVENT_CHANNELS +#define MAX_NR_EVTCHNS EVTCHN_2L_NR_CHANNELS #define EVTCHNS_PER_BUCKET (PAGE_SIZE / next_power_of_2(sizeof(struct evtchn))) #define EVTCHNS_PER_GROUP (BUCKETS_PER_GROUP * EVTCHNS_PER_BUCKET) |