>>> +static void vcpu_kick_intr(void *info) >>> +{ >>> +#ifdef DEBUG >>> + struct kvm_vcpu *vcpu = (struct kvm_vcpu *)info; >>> + printk(KERN_DEBUG "vcpu_kick_intr %p \n", vcpu); >>> +#endif >>> +} >>> + >>> +void kvm_vcpu_kick(struct kvm_vcpu *vcpu) >>> +{ >>> + int ipi_pcpu = vcpu->cpu; >>> + >>> + if (vcpu->guest_mode) >>> + smp_call_function_single(ipi_pcpu, vcpu_kick_intr, vcpu, >>> 0, 0); >>> +} >>> >> >>What if it's in hlt state? > >If guest is in hlt time, vcpu->guest_mode=0. (VM Exit always clear this >one). >BTW, even we give a redunadant IPI, it is just a minor performance issue >only.
I think that Avi was looking for the call to wake_up_interruptible(&vcpu->wq); Maybe it's hard to realize the apic code path where you call it. ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ kvm-devel mailing list kvm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kvm-devel