[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


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.