Paolo Bonzini wrote on 2014-11-05: > > > On 05/11/2014 10:02, Chen, Tiejun wrote: >>> I think both are ok. >>> If we zero max_irr in vmx_set_rvi(), we still need this check: >>> if ((is_guest_mode(vcpu) && nested_exit_on_intr(vcpu)) || max_irr >>> == >>> -1) >> >> No, I don't think we need to add this. > > You don't, because the code will look like: > > if (is_guest_mode(vcpu) && nested_exit_on_intr(vcpu)) > return; > if (!is_guest_mode(vcpu)) { > vmx_set_rvi(max_irr); > return; > } > > if (max_irr == -1) > return; > and thus vmx_set_rvi() is never reached if is_guest_mode(vcpu) && > !nested_exit_on_intr(vcpu). I don't think the above code is perfect. Since hwapic_irr_update() is a hot point, it's better to move the first check after the second check. In this case, Wei's patch looks more reasonable. > > I applied the lapic.c part of Wei's patch, and the vmx.c part of Tiejun's patch. > > Paolo Best regards, Yang -- 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