Messages in this thread | | | Subject | Re: [PATCH v3 2/2] KVM: nVMX: Fix preemption timer bit set in vmcs02 even if L1 doesn't enable it | From | Paolo Bonzini <> | Date | Thu, 7 Jul 2016 10:10:32 +0200 |
| |
On 07/07/2016 05:46, Wanpeng Li wrote: > From: Wanpeng Li <wanpeng.li@hotmail.com> > > We will go to vcpu_run() loop after L0 emulates VMRESUME which incurs > kvm_sched_out and kvm_sched_in operations since cond_resched() will be > called once need resched. Preemption timer will be reprogrammed if vCPU > is scheduled to a different pCPU. Then the preemption timer bit of vmcs02 > will be set if L0 enable preemption timer to run L1 even if L1 doesn't > enable preemption timer to run L2. > > This patch fix it by don't reprogram preemption timer of vmcs02 if L1's > vCPU is scheduled on diffent pCPU when we are in the way to vmresume > nested guest.
Again, this is wrong. There is no reason why L1's APIC timer cannot be emulated through the vmcs12's preemption timer setting. The only issue is getting the pin-based execution controls right.
Paolo
| |