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

Re: [Xen-devel] Scalable Event Channel ABI design (draft A)



On 04/02/2013 21:07, "Wei Liu" <wei.liu2@xxxxxxxxxx> wrote:

>> Concurrent access by Xen to the event queue must be protected by a
>> per-event queue spin lock.
>> 
> 
> I presume "E[n]" in the pseudo code is "E[p]"?
> 
> Is this spin lock really a good idea? How many threads / cpus will spin
> on this lock? As [0] shows, contention on spin lock incurs heavy
> performance penalty.
> 
> [0] https://lwn.net/Articles/530458/

Given that the critical region is small, the extra cache line contention for
the spinlock is probably not a big deal. Even in the current event-channel
design, we would get cache ping-pong on the event-channel bitmaps.

Consider 10k interrupts to a CPU would be a heavy amount. That's one every
100us. The event-channel delivery code described probably runs in less than
1us, even if memory accesses are horrible cache misses. The really highly
contended case shouldn't happen.

 -- Keir



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