Avi Kivity wrote:
>
>> @@ -3944,11 +3950,13 @@ static void vcpu_kick_intr(void *info)
>>  void kvm_vcpu_kick(struct kvm_vcpu *vcpu)
>>  {
>>      int ipi_pcpu = vcpu->cpu;
>> +    int cpu = get_cpu();
>>  
>>      if (waitqueue_active(&vcpu->wq)) {
>>          wake_up_interruptible(&vcpu->wq);
>>          ++vcpu->stat.halt_wakeup;
>>      }
>> -    if (vcpu->guest_mode)
>> +    if (vcpu->guest_mode && vcpu->cpu != cpu)
>>          smp_call_function_single(ipi_pcpu, vcpu_kick_intr, vcpu, 0, 0);
>> +    put_cpu();
>>  }
>>   
>
> Looks like a no-op now, as vcpu_kick_intr() does nothing and 
> smp_call_function_single() won't force an exit if vcpu->cpu == cpu, so 
> I dropped this hunk.
>

Oh, I see the reason now: the irq stuff now happens with irqs disabled 
which annoys smp_call_function_single().  Well, I'd like to avoid all 
this irq-disabled processing, so I'm looking at an alternate fix using a 
new KVM_REQ_EVAL_IRQ.

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


-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
kvm-devel mailing list
kvm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-devel

Reply via email to