[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [RFC PATCH V5 00/15] Implement 3-level event channel ABI in Xen
This is the 5th RFC series (in fact 6th because I dropped RFC in one of the series I posted) for the 3-level event channel design. Changes since V4: * Rework internal event channel object store to optimize memory usage. * Switch back to function pointers, because it has the same (or less) performance degradation compared to 'switch' statement, while at the same time it allows for clearer code structure. * Separate internal event channel inteface and ABI implementation. * Only enable 3-level event channel for Dom0, this should be a good starting point for testing. The toolstack integration is left open. * A compat shim is missing, but should be trivial to add. Changes since V3: * Dedicated EVTCHNOP for extended ABI query * Dedicated EVTCHNOP for 3-level ABI registration * 3-level ABI is registered in two phases: * register the bitmaps * register per-cpu L2 selector * libxl: evtchn_extended -> evtchn_extended_allowed Changes since V2: * new interface to register extended event channel ABI * use vmap to simplify mapping * replace MAX_EVTCHNS macro with inline function * libxl: evtchn_l3 -> evtchn_extended The most notable bit of this series is the interface change. In order to cope with future ABIs, the interface is renamed to EVTCHNOP_register_extended. It also provides supported ABI query, so that we can remove unused ABI in the future. The semantic meaning of EVTCHNOP_register_extended changes a bit. The `level' in parameter now changes to `cmd', which means we should go down to specific ABI routines. ABI-specific structures are still embedded in the union. Changes since V1: * move all evtchn related macros / struct definitions to event.h * only allow 3-level evtchn for Dom0 and driver domains * add evtchn_l3 flag in libxl Diffstat: xen/arch/arm/domain.c | 1 + xen/arch/x86/domain.c | 1 + xen/arch/x86/irq.c | 7 +- xen/common/Makefile | 1 + xen/common/event_channel.c | 404 +++++++++++++++++++++++++----------- xen/common/evtchn_bitmap_abi.c | 323 ++++++++++++++++++++++++++++ xen/common/keyhandler.c | 6 +- xen/common/schedule.c | 4 +- xen/include/asm-arm/config.h | 1 + xen/include/asm-x86/config.h | 5 +- xen/include/public/event_channel.h | 48 +++++ xen/include/public/xen.h | 35 ++-- xen/include/xen/event.h | 70 ++++++- xen/include/xen/sched.h | 31 ++- 14 files changed, 779 insertions(+), 158 deletions(-) _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |