From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paolo Bonzini Subject: Re: [PATCH] KVM: x86: Check for nested events if there is an injectable interrupt Date: Tue, 08 Jul 2014 10:00:35 +0200 Message-ID: <53BBA523.4080006@redhat.com> References: <53BB86C2.9040805@redhat.com> <53BB9638.6040803@siemens.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: linux-kernel@vger.kernel.org, Wanpeng Li , Gleb Natapov To: Jan Kiszka , Bandan Das , kvm@vger.kernel.org Return-path: In-Reply-To: <53BB9638.6040803@siemens.com> Sender: linux-kernel-owner@vger.kernel.org List-Id: kvm.vger.kernel.org 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