From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Graf Subject: Re: qemu-kvm: do not allow vcpu stop with in progress PIO Date: Wed, 10 Feb 2010 18:03:42 +0100 Message-ID: <4B72E6EE.7060602@suse.de> References: <20100128190300.414710338@redhat.com> <20100128190411.495771070@redhat.com> <4B6B1D1F.1080701@redhat.com> <20100204213643.GC2766@amt.cnet> <4B6B4031.80008@redhat.com> <20100208224119.GA6516@amt.cnet> <4B710300.7090903@redhat.com> <20100209205805.GA25144@amt.cnet> <4B7259E8.70904@redhat.com> <20100210162523.GD23089@amt.cnet> <4B72E16B.7080704@redhat.com> <4B72E435.6010208@suse.de> <4B72E67A.4060201@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Cc: Marcelo Tosatti , kvm@vger.kernel.org, quintela@redhat.com, Gleb Natapov To: Avi Kivity Return-path: Received: from cantor.suse.de ([195.135.220.2]:38513 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755369Ab0BJRDn (ORCPT ); Wed, 10 Feb 2010 12:03:43 -0500 In-Reply-To: <4B72E67A.4060201@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Avi Kivity wrote: > On 02/10/2010 06:52 PM, Alexander Graf wrote: >> >> Hrm, trying to read the thread I'm still somewhat lost. What exactly do >> you want to document? >> >> > > The problem: if KVM_RUN exits with KVM_EXIT_MMIO or KVM_EXIT_IO, then > the internal state is inconsistent. The instruction is only half > completed, and we need to reissue KVM_RUN to complete it. > > However, if we're migrating, then we don't want to execute any more > guest code. Luckily, if you KVM_RUN with a pending signal, then the > pending mmio or io will be completed, and then, if the pending signal > is unmasked in kvm's signal mask, KVM_RUN will exit immediately. > > I would like to document the fact that the signal check happens > between the mmio completion and guest entry, and the above sequence as > a way to get consistent state after mmio. > I see. Yes, that works for PPC Book3S too. We check for signals on the beginning of vcpu_run. I'm not sure about BookE though. Either way - wouldn't it make more sense to just move the check to generic code? Alex