On 2013-03-13 12:16, Jan Kiszka wrote: >>> @@ -5871,8 +5867,8 @@ static int __vcpu_run(struct kvm_vcpu *vcpu) >>> srcu_read_unlock(&kvm->srcu, vcpu->srcu_idx); >>> kvm_vcpu_block(vcpu); >>> vcpu->srcu_idx = srcu_read_lock(&kvm->srcu); >>> - if (kvm_check_request(KVM_REQ_UNHALT, vcpu)) >>> - { >>> + if (kvm_check_request(KVM_REQ_UNHALT, vcpu)) { >>> + kvm_apic_accept_events(vcpu); >> I think we can drop this. If INIT happens while vcpu is halted it will >> become runnable here and kvm_apic_accept_events() will be called in >> vcpu_enter_guest(). > > I'm not that sure, but I will recheck carefully. Doesn't work: If the state was INIT_RECEIVED, we will not process the SIPI but reenter kvm_vcpu_block. And it's more consistent to process the events here IMHO. Jan -- Siemens AG, Corporate Technology, CT RTC ITP SDP-DE Corporate Competence Center Embedded Linux -- 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