[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 20/03/13 10:47, Jan Beulich wrote:
>>>> On 19.03.13 at 22:00, David Vrabel <david.vrabel@xxxxxxxxxx> wrote:
>> +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.

This volatile can just be removed.  head is only written by Xen in one
place and it is immediately followed by a spin_unlock() which is a barrier.

>> @@ -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?

Yes.

David

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