Subject: [PATCH 1/2] ARM: KVM: Yield CPU when vcpu executes a WFE

From: [email-masked] (Marc Zyngier)
Date: Tue, 08 Oct 2013 16:06:59 +0100

On 08/10/13 16:02, Raghavendra K T wrote:
> [...]
>>>> +               kvm_vcpu_on_spin(vcpu);
>>>
>>> Could you also enable CONFIG_HAVE_KVM_CPU_RELAX_INTERCEPT for arm and
>>> check if ple handler logic helps further?
>>> we would ideally get one more optimization folded into ple handler if
>>> you enable that.
>>
>> Just gave it a go, and the results are slightly (but consistently)
>> worse. Over 10 runs:
>>
>> Without RELAX_INTERCEPT: Average run 3.3623s
>> With RELAX_INTERCEPT: Average run 3.4226s
>>
>> Not massive, but still noticeable. Any clue?
> 
> Is it  a 4x overcommit? Probably we would have hit the code
> overhead if it were small guests.

Only 2x overcommit (dual core host, quad vcpu guests).

> RELAX_INTERCEPT is worth enabling for large guests with
> overcommits.

I'll try something more aggressive as soon as I get the time. What do
you call a large guest? So far, the hard limit on ARM is 8 vcpus.

	M.
-- 
Jazz is not dead. It just smells funny...