]> 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)
commit00387203a4ac6ed8810ed195717662290efbc92b
treed53b078db9b851f156275cf995a98abe41aefbea
parent3f952d9bb035b8978c208c568a0e181d979a8583
KVM: LAPIC: Enable timer posted-interrupt only when mwait/hlt is advertised

As commit d98a29f45f0 ("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