Radim Krčmář <rkrc...@redhat.com> wrote:

> 2017-11-29 01:31-0800, Wanpeng Li:
>> From: Wanpeng Li <wanpeng...@hotmail.com>
>> 
>> 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 <jmatt...@google.com>
>> Cc: Paolo Bonzini <pbonz...@redhat.com>
>> Cc: Radim Krčmář <rkrc...@redhat.com>
>> Cc: Jim Mattson <jmatt...@google.com>
>> Signed-off-by: Wanpeng Li <wanpeng...@hotmail.com>
>> ---
> 
> 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