[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CANRm+CwkYJAsv=VngY6m1uQtCLa+WqOJwSJzx95dO7LRAkbsbg@mail.gmail.com>
Date: Tue, 1 Feb 2022 21:57:19 +0800
From: Wanpeng Li <kernellwp@...il.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: LKML <linux-kernel@...r.kernel.org>, kvm <kvm@...r.kernel.org>,
Sean Christopherson <seanjc@...gle.com>,
Vitaly Kuznetsov <vkuznets@...hat.com>,
Wanpeng Li <wanpengli@...cent.com>,
Jim Mattson <jmattson@...gle.com>,
Joerg Roedel <joro@...tes.org>, Aili Yao <yaoaili@...gsoft.com>
Subject: Re: [PATCH RESEND v2] KVM: LAPIC: Enable timer posted-interrupt when
mwait/hlt is advertised
On Tue, 1 Feb 2022 at 20:11, Paolo Bonzini <pbonzini@...hat.com> wrote:
>
> On 1/25/22 13:08, Wanpeng Li wrote:
> > As commit 0c5f81dad46 (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.
> > It is better to disable mwait/hlt/pause vmexits to keep the vCPUs in non-root
> > mode. However, we may isolate pCPUs for other purpose like DPDK or we can make
> > some guests isolated and others not, we may lose vmx preemption timer/timer fastpath
> > due to not well tuned setup, and the checking in kvm_can_post_timer_interrupt()
> > is not enough. Let's guarantee mwait/hlt is advertised before enabling posted-interrupt
> > interrupt. vmx preemption timer/timer fastpath can continue to work if both of them
> > are not advertised.
>
> Is this the same thing that you meant?
>
> --------
> As commit 0c5f81dad46 ("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.
> --------
Looks better, thanks Paolo! :)
Wanpeng
Powered by blists - more mailing lists