Radim Krčmář <[email protected]> wrote:

> 2017-11-29 01:31-0800, Wanpeng Li:
>> From: Wanpeng Li <[email protected]>
>> 
>> MSR_IA32_DEBUGCTLMSR is zeroed on VMEXIT, so it is saved/restored 
>> each time during world switch. Jim from Google pointed out that 
>> when running schbench in L2, vmx_vcpu_run will occupy 4% cpu time, 
>> and the 25% of vmx_vcpu_run cpu time is occupied by get_debugctlmsr(). 
>> This patch caches the host IA32_DEBUGCTL MSR and saves/restores 
>> the host IA32_DEBUGCTL msr when guest/host switches to avoid to 
>> save/restore each time during world switch.
>> 
>> Suggested-by: Jim Mattson <[email protected]>
>> Cc: Paolo Bonzini <[email protected]>
>> Cc: Radim Krčmář <[email protected]>
>> Cc: Jim Mattson <[email protected]>
>> Signed-off-by: Wanpeng Li <[email protected]>
>> ---
> 
> Queued, thanks.
> 
> And there is another optimization loosely connected to the "[PATCH v3
> 00/16] Move vcpu_load and vcpu_put calls to arch code" series:
> We only need to read the value for the KVM_RUN ioctl.

Can you add some warning that would fire in some “debug” mode if the cached
value is not identical to the real one?

Thanks,
Nadav

Reply via email to