Re: [PATCH v8 11/15] ARM: KVM: World-switch implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 06/21/2012 08:54 PM, Christoffer Dall wrote:
>>> @@ -504,6 +514,13 @@ int kvm_arch_vcpu_ioctl_run(struct kvm_vcpu
>>> *vcpu, struct kvm_run *run)
>>>                */
>>>               preempt_disable();
>>>               local_irq_disable();
>>> +
>>> +             if (check_new_vmid_gen(kvm)) {
>>> +                     local_irq_enable();
>>> +                     preempt_enable();
>>> +                     continue;
>>> +             }
>>> +
>>
>> I see the same race with signals.  Your signal_pending() check needs to
>> be after the local_irq_disable(), otherwise we can enter a guest with a
>> pending signal.
>>
> 
> that's not functionally incorrect though is it? It may simply increase
> the latency for the signal delivery as far as I can see, but I
> definitely don't mind changing this path in any case.

Nothing guarantees that there will be a next exit.  I think we still run
the timer tick on guest entry, so we'll exit after a few milliseconds,
but there are patches to disable the timer tick if only one task is queued.

-- 
error compiling committee.c: too many arguments to function


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux