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

Re: [Xen-devel] Xen spinlock questions

>>> Keir Fraser <keir.fraser@xxxxxxxxxxxxx> 04.08.08 12:24 >>>
>On 4/8/08 11:18, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
>> 1) While the goal of the per-CPU kicker irq appears to be to avoid all CPUs
>> waiting for a particular lock to get kicked simultaneously, I think this
>> doesn't have the desired effect. This is because Xen doesn't track what
>> event channel you poll for (through SCHEDOP_poll), and rather kicks all CPUs
>> polling for any event channel.
>Yes, this is true. We could easily do something better for VCPUs polling a
>single event channel though, but there hasn't been a need up to now. I
>suppose it depends how often we have multiple VCPUs stuck waiting for
>spinlocks. I can sort out a Xen-side patch if someone wanted to measure the
>benefits from more selective wakeup from poll.

Running kernel builds on 8 vCPU-s competing for 4 pCPU-s shows a 10%
improvement in performance with the individual wakeup (patch attached
- probably sub-optimal, but I didn't seem to be able to think of a lock-less
mechanism to achieve the desired behavior), using ticket locks in the


Attachment: poll-single-port.patch
Description: Text document

Xen-devel mailing list



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