RE: [PATCH] KVM: x86: reset RVI upon system reset

Zhang, Yang Z
2014-11-06T01:10:33Z

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