[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 kernel. Jan Attachment:
poll-single-port.patch _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |