Re: [PATCH] KVM: x86: Check for nested events if there is an injectable interrupt

Paolo Bonzini
2014-07-08T08:00:41Z

Il 08/07/2014 08:56, Jan Kiszka ha scritto:
> I don't think arch.nmi_pending can flip asynchronously, only in the
> context of the VCPU thread - in contrast to pending IRQ states.

Right, only nmi_queued is changed from other threads. /me should really
look at the code instead of going from memory.

>> Jan, what do you think? Can you run Jailhouse through this patch?
>
> Jailhouse seems fine with it, and it resolves the lockup of nested KVM
> here as well.

Thinking more about it, I think this is the right fix. Not setting
KVM_REQ_EVENT in some cases can be an optimization, but it's not
necessary. Definitely there are other cases in which KVM_REQ_EVENT is
set even though no event is pending---most notably during emulation of
invalid guest state.

Paolo