Re: [PATCH v2] KVM: VMX: Cache IA32_DEBUGCTL in memory

Radim Krčmář
2017-12-05T21:54:55Z

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