[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCHv4 0/11] Xen: FIFO-based event channel ABI
On Fri, Sep 27, 2013 at 11:55:48AM +0100, David Vrabel wrote: > This is a complete implementation of the hypervisor and xl toolstack > parts of the FIFO-based event channel ABI described in this design > document: > > http://xenbits.xen.org/people/dvrabel/event-channels-F.pdf > > Changes in draft F are: > > - READY field in the control block is now 32-bits (so guests only need > to support atomic bit ops on 32-bit words). This is only a > documentation change as the implementation already used a uint32_t. > > - DOMCTL_set_max_evtchn replaces EVTCHNOP_set_limit. > > - DomUs default to unlimited number of event channels requiring > the toolstack to set a limit. > > The toolstack defaults to limiting guests to 127 event channels if the > event_channels option is omitted. This means the minimum amount of > both Xen heap and global mapping space is used regardless of which ABI > is used. If this is considered too restrictive a limit, 1023 would be > another sensible default (limits the guest to a single event array > page but 5 xenheap pages for the struct evtchns). I would say 1023 (so the same value as the existing event mechanism) would be a sensible default. > > An updated version of the Linux patch series is not quite ready yet. > There is one remaining issue but fixing this will not require any > changes to the hypervisor ABI or implementation. The remaining issue > requires preallocating space in the evtchn-to-irq map as this cannot > be expanded in pirq_startup() (since this function cannot return a > failure). > > The latest Linux changes can be found in the orochi-v4w branch of: > > git://xenbits.xen.org/people/dvrabel/linux.git > > Patch 1-4 do some preparatory work for supporting alternate ABIs. > > Patch 5 expands the number of evtchn objects a domain may have by > changing how they are allocated. > > Patch 6 adds the public ABI. > > Patch 7 adds the EVTCHNOP_set_priority implementation. This will > return -ENOSYS for ABIs that do not support priority. > > Patch 8 adds the FIFO-based ABI implementation. > > Patch 9-10 adds the DOMCTL_set_max_evtchn implementation and adds a > function to libxc. This will also work with the 2-level ABI. > > Patch 11 add the event_channels configuration option to xl and libxl > bits needed for this. > > Changes in v4: > > - Updates for Draft F of the design. > - DOMCTL_set_max_evtchn replaces EVTCHNOP_set_limit. > - Hypervisor defaults to unlimited event channels for for DomU. > - Optimized memory allocation for struct evtchn's when fewer than 128 > are required (see patch 5). > - Added event_channels option to the xl domain configuration file and > plumbed this through libxl_build_info. Defaults to 127. > > 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. > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxx > http://lists.xen.org/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |