[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCHv7 00/16] Linux: FIFO-based event channel ABI
This is the complete Linux guest-side implementation of the FIFO-based event channel ABI described in this design document: http://xenbits.xen.org/people/dvrabel/event-channels-F.pdf The Xen implementation is now available in xen-unstable. Note that __startup_pirq() was never ideal as failure when binding a PIRQ to an event channel cannot be propagated to the calling driver since the irq_startup callback cannot return an error. This series adds another (very unlikely) failure point to __startup_pirq(). I have a half-bakedpatch series to refactor when PIRQs are setup and torn down but this won't be ready for a while and I do not think this is a prerequisite for applying the FIFO-based ABI series. Patch 1 is a obvious refactoring of common code. Patch 2-6 prepare for supporting multiple ABIs. Patch 7 adds the low-level evtchn_ops hooks. Patch 8-9 add an additional hook for ABI-specific per-port setup (used for expanding the event array as more event are bound). Patch 10 allows many more event channels to be supported by altering how the event channel to irq map is allocated. Note that other factors limit the number of supported IRQs (IRQs is 8192 + 64 * NR_CPUS). Patch 11 is some trival refactoring. Patch 12 removes a limit on the number of event channels supported by the xen-evtchn driver. Patch 13 adds the hypervisor ABI. Patches 14-15 Set the priority of VIRQ_TIMER events to the highest. Patch 16 adds the FIFO-based ABI implementation. Changes in v7: - Add xen.fifo_events command line option (defaults to true). - Use xen_evtchn_nr_channels() in xen_evtchn driver. - Drop unnecessary test in evtchn_fifo_unmask() - Refactor irq_info setup/cleanup a bit. Changes in v6: - nlevel -> 2l to match naming in Xen. Changes in v5 (v4 not posted): - Set priority of VIRQ_TIMER. - Remove NR_EVENT_CHANNELS limit from xen-evtchn driver. - Licence drivers/xen/events/fifo.c under a dual MIT/GPLv2. Changes in v3: - Support suspend/resume by reinitializing the control blocks on resume. - Only init control block if one does not exist (should fix CPU hotplug). _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |