]> 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)
commit6c97495326b1a28c8a2bffda9e4185e2a3171915
treeaeca0d8b3e7130ed76f6335be47c7b9afe178aca
parent3d1c073830b80887a56f5c16eda218c1d085e17d
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