On 01/14/2011 12:47 PM, Srivatsa Vaddagiri wrote:
If I recall correctly, one of the motivations for yield_to_task (rather than a simple yield) was to avoid leaking bandwidth to other guests i.e we don't want the remaining timeslice of spinning vcpu to be given away to other guests but rather donate it to another (lock-holding) vcpu and thus retain the bandwidth allocated to the guest.
No, that was not the motivation. The motivation was to try and get the lock holder to run soon, so it can release the lock. What you describe is merely one of the mechanisms considered for meeting that objective.
I am not sure whether we are meeting that objective via this patch, as lock-spinning vcpu would simply yield after setting next buddy to preferred vcpu on target pcpu, thereby leaking some amount of bandwidth on the pcpu where it is spinning.
Have you read the patch? -- All rights reversed -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html