Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1699519 > unrolled thread
| Started by | Wanpeng Li <kernellwp@gmail.com> |
|---|---|
| First post | 2017-07-30 14:00 +0200 |
| Last post | 2017-07-30 14:00 +0200 |
| Articles | 1 — 1 participant |
Back to article view | Back to linux.kernel
This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by
below is the oldest one visible, not the original post.
Re: [PATCH] kvm: x86: fix a race condition result to lost INIT Wanpeng Li <kernellwp@gmail.com> - 2017-07-30 14:00 +0200
| From | Wanpeng Li <kernellwp@gmail.com> |
|---|---|
| Date | 2017-07-30 14:00 +0200 |
| Subject | Re: [PATCH] kvm: x86: fix a race condition result to lost INIT |
| Message-ID | <u8V33-8gx-13@gated-at.bofh.it> |
2017-07-30 19:33 GMT+08:00 <peng.hao2@zte.com.cn>:
>
>
>
>
>>2017-07-30 18:42 GMT+08:00 <peng.hao2@zte.com.cn>:
>
>>>> 2017-07-31 0:24 GMT+08:00 Peng Hao <peng.hao2@zte.com.cn>:
>>>
>>>> > when SMP VM start, AP may lost INIT because of receiving INIT between
>>>> > kvm_vcpu_ioctl_x86_get/set_vcpu_events.
>>>> >
>>>> > vcpu 0 vcpu 1
>>>> > kvm_vcpu_ioctl_x86_get_vcpu_events
>>>> > events->smi.latched_init=0
>>>> > send INIT to vcpu1
>>>> > set vcpu1's pending_events
>>>> > kvm_vcpu_ioctl_x86_set_vcpu_events
>>>> > events->smi.latched_init == 0
>>>> > clear INIT in pending_events
>>>> > I don't think it need set/clear kernel state according to userspace's
>>>> > info.
>>>> >
>>>> > Signed-off-by: Peng Hao <peng.hao2@zte.com.cn>
>>>> > ---
>>>> > arch/x86/kvm/x86.c | 6 ------
>>>> > 1 file changed, 6 deletions(-)
>>>> >
>>>> > diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
>>>> > index 6c7266f..393a7b7 100644
>>>> > --- a/arch/x86/kvm/x86.c
>>>> > +++ b/arch/x86/kvm/x86.c
>>>> > @@ -3157,12 +3157,6 @@ static int
>>>> > kvm_vcpu_ioctl_x86_set_vcpu_events(struct kvm_vcpu *vcpu,
>>>> > vcpu->arch.hflags |= HF_SMM_INSIDE_NMI_MASK;
>>>> > else
>>>> > vcpu->arch.hflags &= ~HF_SMM_INSIDE_NMI_MASK;
>>>> > - if (lapic_in_kernel(vcpu)) {
>>>> > - if (events->smi.latched_init)
>>>> > - set_bit(KVM_APIC_INIT,
>>>> > &vcpu->arch.apic->pending_events);
>>>
>>>> This is not correct, you will lose the INIT after live migration. I
>>>> just send out another patch to fix it. Thanks for the report.
>>>
>>> yes, you're right. I should modify on qemu not kernel.
>
>>There is a patch here to fix it in kvm, https://lkml.org/lkml/2017/7/30/72
>
>>>
>
> I was affected by sipi, kernel never report valid sipi to user space,
How you afftected by SIPI? In addition, you reported the lost of INIT.
Is it observed by your workload or by code review?
Regards,
Wanpeng Li
>
> we don't care whether sipi is lost after migration. Why?
>
>>>> > - else
>>>> > - clear_bit(KVM_APIC_INIT,
>>>> > &vcpu->arch.apic->pending_events);
>>>> > - }
>>>> > }
>
>
>
Back to top | Article view | linux.kernel
csiph-web