Messages in this thread | | | Date | Mon, 22 Apr 2013 19:08:06 -0400 | From | Rik van Riel <> | Subject | Re: Preemptable Ticket Spinlock |
| |
On 04/22/2013 04:55 PM, Peter Zijlstra wrote: > On Mon, 2013-04-22 at 16:46 -0400, Jiannan Ouyang wrote:
>> - pv-preemptable-lock has much less performance variance compare to >> pv_lock, because it adapts to preemption within VM, >> other than using rescheduling that increase VM interference > > I would say it has a _much_ worse worst case (and thus worse variance) > than the paravirt ticket implementation from Jeremy. While full > paravirt ticket lock results in vcpu scheduling it does maintain > fairness. > > If you drop strict fairness you can end up in unbounded starvation > cases and those are very ugly indeed.
If needed, Jiannan's scheme could easily be bounded to prevent infinite starvation. For example, we could allow only the first 8 CPUs in line to jump the queue.
However, given the way that virtual CPUs get scheduled in and out all the time, I suspect starvation is not a worry, and we will not need the additional complexity to deal with it.
You may want to play around with virtualization a bit, to get a feel for how things work in virt land.
-- All rights reversed
| |