Messages in this thread | | | Date | Fri, 21 Sep 2012 09:02:03 -0400 | From | Rik van Riel <> | Subject | Re: [PATCH RFC 1/2] kvm: Handle undercommitted guest case in PLE handler |
| |
On 09/21/2012 08:00 AM, Raghavendra K T wrote: > From: Raghavendra K T <raghavendra.kt@linux.vnet.ibm.com> > > When total number of VCPUs of system is less than or equal to physical CPUs, > PLE exits become costly since each VCPU can have dedicated PCPU, and > trying to find a target VCPU to yield_to just burns time in PLE handler. > > This patch reduces overhead, by simply doing a return in such scenarios by > checking the length of current cpu runqueue.
I am not convinced this is the way to go.
The VCPU that is holding the lock, and is not releasing it, probably got scheduled out. That implies that VCPU is on a runqueue with at least one other task.
> --- a/virt/kvm/kvm_main.c > +++ b/virt/kvm/kvm_main.c > @@ -1629,6 +1629,9 @@ void kvm_vcpu_on_spin(struct kvm_vcpu *me) > int pass; > int i; > > + if (unlikely(rq_nr_running() == 1)) > + return; > + > kvm_vcpu_set_in_spin_loop(me, true); > /* > * We boost the priority of a VCPU that is runnable but not >
-- All rights reversed
| |