]> git.baikalelectronics.ru Git - kernel.git/commit
KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised
authorWanpeng Li <wanpengli@tencent.com>
Tue, 25 Jan 2022 12:08:58 +0000 (04:08 -0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 10 Feb 2022 18:50:31 +0000 (13:50 -0500)
commitba88925ea847d06522c39058a1cf71e447e779b8
treed53b078db9b851f156275cf995a98abe41aefbea
parent213ffe9296c111f915dedfd8f6ac3be32f8daaf1
KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised

As commit 8d75e4e7bde ("KVM: LAPIC: Inject timer interrupt via posted
interrupt") mentioned that the host admin should well tune the guest
setup, so that vCPUs are placed on isolated pCPUs, and with several pCPUs
surplus for *busy* housekeeping.  In this setup, it is preferrable to
disable mwait/hlt/pause vmexits to keep the vCPUs in non-root mode.

However, if only some guests isolated and others not, they would not
have any benefit from posted timer interrupts, and at the same time lose
VMX preemption timer fast paths because kvm_can_post_timer_interrupt()
returns true and therefore forces kvm_can_use_hv_timer() to false.

By guaranteeing that posted-interrupt timer is only used if MWAIT or
HLT are done without vmexit, KVM can make a better choice and use the
VMX preemption timer and the corresponding fast paths.

Reported-by: Aili Yao <yaoaili@kingsoft.com>
Reviewed-by: Sean Christopherson <seanjc@google.com>
Cc: Aili Yao <yaoaili@kingsoft.com>
Cc: Sean Christopherson <seanjc@google.com>
Signed-off-by: Wanpeng Li <wanpengli@tencent.com>
Message-Id: <1643112538-36743-1-git-send-email-wanpengli@tencent.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/lapic.c