]> git.baikalelectronics.ru Git - kernel.git/commit
x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume
authorWanpeng Li <wanpengli@tencent.com>
Mon, 18 Apr 2022 07:42:32 +0000 (00:42 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 21 Apr 2022 17:16:14 +0000 (13:16 -0400)
commitb03d906cb5527b85dc76967aa9be8d708d77903d
treeaeca0d8b3e7130ed76f6335be47c7b9afe178aca
parent88951745e100fe9ed32b899255399e19b53698c8
x86/kvm: Preserve BSP MSR_KVM_POLL_CONTROL across suspend/resume

MSR_KVM_POLL_CONTROL is cleared on reset, thus reverting guests to
host-side polling after suspend/resume.  Non-bootstrap CPUs are
restored correctly by the haltpoll driver because they are hot-unplugged
during suspend and hot-plugged during resume; however, the BSP
is not hotpluggable and remains in host-sde polling mode after
the guest resume.  The makes the guest pay for the cost of vmexits
every time the guest enters idle.

Fix it by recording BSP's haltpoll state and resuming it during guest
resume.

Cc: Marcelo Tosatti <mtosatti@redhat.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Message-Id: <1650267752-46796-1-git-send-email-wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kernel/kvm.c