Revision 0361bdfddca20c8855ea3bdbbbc9c999912b10ff authored by Wanpeng Li on 18 April 2022, 07:42:32 UTC, committed by Paolo Bonzini on 21 April 2022, 17:16:14 UTC
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>
1 parent a413a62
History
File Mode Size
atomic
basic
clang-tools
coccinelle
dtc
dummy-tools
gcc-plugins
gdb
genksyms
kconfig
ksymoops
mod
package
selinux
tracing
.gitignore -rw-r--r-- 146 bytes
Kbuild.include -rw-r--r-- 7.3 KB
Kconfig.include -rw-r--r-- 2.6 KB
Lindent -rwxr-xr-x 502 bytes
Makefile -rw-r--r-- 1.4 KB
Makefile.asm-generic -rw-r--r-- 1.8 KB
Makefile.build -rw-r--r-- 19.4 KB
Makefile.clang -rw-r--r-- 1.7 KB
Makefile.clean -rw-r--r-- 2.2 KB
Makefile.compiler -rw-r--r-- 2.7 KB
Makefile.debug -rw-r--r-- 706 bytes
Makefile.dtbinst -rw-r--r-- 999 bytes
Makefile.extrawarn -rw-r--r-- 2.9 KB
Makefile.gcc-plugins -rw-r--r-- 2.7 KB
Makefile.headersinst -rw-r--r-- 2.9 KB
Makefile.host -rw-r--r-- 4.6 KB
Makefile.kasan -rw-r--r-- 1.7 KB
Makefile.kcov -rw-r--r-- 333 bytes
Makefile.kcsan -rw-r--r-- 1004 bytes
Makefile.lib -rw-r--r-- 18.7 KB
Makefile.modfinal -rw-r--r-- 2.7 KB
Makefile.modinst -rw-r--r-- 2.4 KB
Makefile.modpost -rw-r--r-- 4.4 KB
Makefile.package -rw-r--r-- 6.9 KB
Makefile.ubsan -rw-r--r-- 770 bytes
Makefile.userprogs -rw-r--r-- 1.6 KB
adjust_autoksyms.sh -rwxr-xr-x 2.1 KB
as-version.sh -rwxr-xr-x 2.0 KB
asn1_compiler.c -rw-r--r-- 35.3 KB
bin2c.c -rw-r--r-- 743 bytes
bloat-o-meter -rwxr-xr-x 3.4 KB
bootgraph.pl -rwxr-xr-x 5.6 KB
bpf_doc.py -rwxr-xr-x 29.2 KB
cc-can-link.sh -rwxr-xr-x 166 bytes
cc-version.sh -rwxr-xr-x 1.5 KB
check-sysctl-docs -rwxr-xr-x 4.4 KB
check_extable.sh -rwxr-xr-x 4.9 KB
checkdeclares.pl -rwxr-xr-x 1.1 KB
checkincludes.pl -rwxr-xr-x 1.9 KB
checkkconfigsymbols.py -rwxr-xr-x 15.4 KB
checkpatch.pl -rwxr-xr-x 225.5 KB
checkstack.pl -rwxr-xr-x 5.9 KB
checksyscalls.sh -rwxr-xr-x 7.4 KB
checkversion.pl -rwxr-xr-x 2.2 KB
cleanfile -rwxr-xr-x 3.5 KB
cleanpatch -rwxr-xr-x 5.1 KB
coccicheck -rwxr-xr-x 7.9 KB
config -rwxr-xr-x 4.7 KB
const_structs.checkpatch -rw-r--r-- 1.4 KB
decode_stacktrace.sh -rwxr-xr-x 6.6 KB
decodecode -rwxr-xr-x 2.9 KB
depmod.sh -rwxr-xr-x 1.4 KB
dev-needs.sh -rwxr-xr-x 6.1 KB
diffconfig -rwxr-xr-x 3.7 KB
documentation-file-ref-check -rwxr-xr-x 5.7 KB
export_report.pl -rwxr-xr-x 4.5 KB
extract-ikconfig -rwxr-xr-x 1.7 KB
extract-module-sig.pl -rwxr-xr-x 3.7 KB
extract-sys-certs.pl -rwxr-xr-x 3.7 KB
extract-vmlinux -rwxr-xr-x 1.7 KB
extract_xc3028.pl -rwxr-xr-x 44.6 KB
faddr2line -rwxr-xr-x 6.2 KB
file-size.sh -rwxr-xr-x 86 bytes
find-unused-docs.sh -rwxr-xr-x 1.3 KB
gcc-goto.sh -rwxr-xr-x 511 bytes
gcc-ld -rwxr-xr-x 711 bytes
gcc-x86_32-has-stack-protector.sh -rwxr-xr-x 408 bytes
gcc-x86_64-has-stack-protector.sh -rwxr-xr-x 198 bytes
gen_autoksyms.sh -rwxr-xr-x 1.4 KB
gen_ksymdeps.sh -rwxr-xr-x 556 bytes
generate_initcall_order.pl -rwxr-xr-x 5.9 KB
get_abi.pl -rwxr-xr-x 25.3 KB
get_dvb_firmware -rwxr-xr-x 24.5 KB
get_feat.pl -rwxr-xr-x 14.6 KB
get_maintainer.pl -rwxr-xr-x 67.1 KB
gfp-translate -rwxr-xr-x 1.7 KB
headerdep.pl -rwxr-xr-x 3.5 KB
headers_install.sh -rwxr-xr-x 3.4 KB
insert-sys-cert.c -rw-r--r-- 8.9 KB
jobserver-exec -rwxr-xr-x 2.2 KB
kallsyms.c -rw-r--r-- 18.1 KB
kernel-doc -rwxr-xr-x 65.9 KB
ld-version.sh -rwxr-xr-x 1.7 KB
leaking_addresses.pl -rwxr-xr-x 12.8 KB
link-vmlinux.sh -rwxr-xr-x 10.9 KB
makelst -rwxr-xr-x 808 bytes
markup_oops.pl -rwxr-xr-x 7.9 KB
min-tool-version.sh -rwxr-xr-x 558 bytes
mkcompile_h -rwxr-xr-x 2.6 KB
mksysmap -rwxr-xr-x 1.3 KB
mkuboot.sh -rwxr-xr-x 414 bytes
module.lds.S -rw-r--r-- 1.5 KB
modules-check.sh -rwxr-xr-x 427 bytes
nsdeps -rw-r--r-- 1.7 KB
objdiff -rwxr-xr-x 2.8 KB
pahole-flags.sh -rwxr-xr-x 585 bytes
pahole-version.sh -rwxr-xr-x 269 bytes
parse-maintainers.pl -rwxr-xr-x 4.5 KB
patch-kernel -rwxr-xr-x 9.9 KB
profile2linkerlist.pl -rwxr-xr-x 414 bytes
prune-kernel -rwxr-xr-x 708 bytes
recordmcount.c -rw-r--r-- 16.7 KB
recordmcount.h -rw-r--r-- 19.4 KB
recordmcount.pl -rwxr-xr-x 17.5 KB
remove-stale-files -rwxr-xr-x 1.6 KB
setlocalversion -rwxr-xr-x 3.6 KB
show_delta -rwxr-xr-x 3.0 KB
sign-file.c -rw-r--r-- 9.8 KB
sorttable.c -rw-r--r-- 7.6 KB
sorttable.h -rw-r--r-- 12.9 KB
spdxcheck-test.sh -rw-r--r-- 277 bytes
spdxcheck.py -rwxr-xr-x 10.1 KB
spelling.txt -rw-r--r-- 32.5 KB
sphinx-pre-install -rwxr-xr-x 24.4 KB
split-man.pl -rwxr-xr-x 604 bytes
stackdelta -rwxr-xr-x 1.8 KB
stackusage -rwxr-xr-x 794 bytes
subarch.include -rw-r--r-- 619 bytes
syscallhdr.sh -rwxr-xr-x 1.9 KB
syscallnr.sh -rwxr-xr-x 1.5 KB
syscalltbl.sh -rwxr-xr-x 1.5 KB
tags.sh -rwxr-xr-x 10.4 KB
test_fortify.sh -rw-r--r-- 2.2 KB
tools-support-relr.sh -rwxr-xr-x 546 bytes
unifdef.c -rw-r--r-- 34.8 KB
ver_linux -rwxr-xr-x 2.6 KB
xen-hypercalls.sh -rwxr-xr-x 386 bytes
xz_wrap.sh -rwxr-xr-x 563 bytes

back to top