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

From: Paolo Bonzini
Date: Tue Jul 08 2014 - 04:00:44 EST


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
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/