[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 8/8] evtchn: add FIFO-based event channel hypercalls and port ops



>>> On 19.03.13 at 22:00, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
> +static int setup_control_block(struct vcpu *v, uint64_t gfn, uint32_t offset)
> +{
> +    struct domain *d = v->domain;
> +    struct evtchn_fifo_vcpu *efv;
> +    struct page_info *page;
> +    void *virt;
> +    int i;

unsigned int (also elsewhere)

> +struct evtchn_fifo_queue {
> +    volatile uint32_t *head; /* points into control block */

I still think that explicit barriers are the way to go. Unless Linux'es
view on this has changed, you'll have issues getting the Linux folks
to accept this.

> @@ -83,6 +83,7 @@ struct evtchn
>          u16 virq;      /* state == ECS_VIRQ */
>      } u;
>      u32 port;
> +    struct evtchn_fifo_queue *queue;

Wouldn't it be better (more space efficient) to store the queue
array index rather than a pointer, considering that you expect to
have thousands of event channels?

Jan


_______________________________________________
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®.