On 01/01/18 23:32, Paolo Bonzini wrote:
On 27/12/2017 16:54, Paolo Bonzini wrote:
(b) Get rid of pi_pending and instead use virtual LAPIC IRR bit and
process it specially in case vCPU in non-root-mode & posted-interrupts
is active.
(c) Get rid of software simulation of nested posted-interrupts
processing and instead use self-IPI trick to make CPU process it for us.
What do you think?
I guess 2(b) would be done in vmx_hwapic_irr_update?
I'm not sure yet. I am currently busy with other tasks and therefore
didn't have enough time to work on the new version of this series since
your comments.
I need to think of what would be the most elegant and easy-to-understand
code for this mechanism. There are many delicate cases here that needs
to be thought through.
Regarding vmx_hwapic_irr_update(), I think that it is a bit misleading
putting the logic handling this case in there.
vmx_hwapic_irr_update() should conceptually only update the RVI. Similar
to vmx_hwapic_isr_update() update only the SVI.
I also think that the separation between vmx_hwapic_irr_update() &
vmx_set_rvi() is a bit weird. I would have except
vmx_hwapic_irr_update() and vmx_hwapic_isr_update() to be symmetric.
Regards,
-Liran
Thanks,
Paolo