[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <MWHPR11MB1968E9F0BE3745C3D8A9FA2EE33F0@MWHPR11MB1968.namprd11.prod.outlook.com>
Date: Fri, 18 Sep 2020 02:01:42 +0000
From: "Qi, Yadong" <yadong.qi@...el.com>
To: "Christopherson, Sean J" <sean.j.christopherson@...el.com>,
Paolo Bonzini <pbonzini@...hat.com>
CC: "kvm@...r.kernel.org" <kvm@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"x86@...nel.org" <x86@...nel.org>,
"vkuznets@...hat.com" <vkuznets@...hat.com>,
"wanpengli@...cent.com" <wanpengli@...cent.com>,
"jmattson@...gle.com" <jmattson@...gle.com>,
"joro@...tes.org" <joro@...tes.org>,
"tglx@...utronix.de" <tglx@...utronix.de>,
"mingo@...hat.com" <mingo@...hat.com>,
"bp@...en8.de" <bp@...en8.de>, "hpa@...or.com" <hpa@...or.com>,
"liran.alon@...cle.com" <liran.alon@...cle.com>,
"nikita.leshchenko@...cle.com" <nikita.leshchenko@...cle.com>,
"Gao, Chao" <chao.gao@...el.com>,
"Tian, Kevin" <kevin.tian@...el.com>,
"Chen, Luhai" <luhai.chen@...el.com>,
"Zhu, Bing" <bing.zhu@...el.com>,
"Wang, Kai Z" <kai.z.wang@...el.com>
Subject: RE: [PATCH RFC] KVM: x86: emulate wait-for-SIPI and SIPI-VMExit
> On Thu, Sep 17, 2020 at 10:56:18AM +0200, Paolo Bonzini wrote:
> > On 17/09/20 04:25, yadong.qi@...el.com wrote:
> > > From: Yadong Qi <yadong.qi@...el.com>
> > >
> > > Background: We have a lightweight HV, it needs INIT-VMExit and
> > > SIPI-VMExit to wake-up APs for guests since it do not monitoring the
> > > Local APIC. But currently virtual wait-for-SIPI(WFS) state is not
> > > supported in KVM, so when running on top of KVM, the L1 HV cannot
> > > receive the INIT-VMExit and SIPI-VMExit which cause the L2 guest
> > > cannot wake up the APs.
> > >
> > > This patch is incomplete, it emulated wait-for-SIPI state by halt
> > > the vCPU and emulated SIPI-VMExit to L1 when trapped SIPI signal
> > > from L2. I am posting it RFC to gauge whether or not upstream KVM is
> > > interested in emulating wait-for-SIPI state before investing the
> > > time to finish the full support.
> >
> > Yes, the patch makes sense and is a good addition. What exactly is
> > missing? (Apart from test cases in kvm-unit-tests!)
>
> nested_vmx_run() puts the vCPU into KVM_MP_STATE_HALTED instead of
> properly transitioning to INIT_RECEIVED, e.g. events that arrive while the vCPU
> is supposed to be in WFS will be incorrectly recognized. I suspect there are other
> gotchas lurking, but that's the big one.
Thanks, Paolo and Sean.
We will continue to investigate and submit a formal patch later.
Best Regard
Yadong
Powered by blists - more mailing lists