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 [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html