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 17:52:05 +0100 Message-ID: <4B72E435.6010208@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> 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]:38094 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755625Ab0BJQwH (ORCPT ); Wed, 10 Feb 2010 11:52:07 -0500 In-Reply-To: <4B72E16B.7080704@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: Avi Kivity wrote: > On 02/10/2010 06:25 PM, Marcelo Tosatti wrote: >> On Wed, Feb 10, 2010 at 09:02:00AM +0200, Avi Kivity wrote: >> >>> On 02/09/2010 10:58 PM, Marcelo Tosatti wrote: >>> >>>> You're right... this should be enough to avoid a stop with uncomplete >>>> PIO (and this is what happens for MMIO already). The signal will not >>>> be dequeued, so KVM will complete_pio and exit before entering with >>>> -EAGAIN. Please review and queue for stable. >>>> >>>> >>> Not right enough. This is very fragile, we depend on the kernel >>> noticing the signal after completing pio but before starting >>> execution. I don't think we guarantee that. >>> >> As long as the signal is blocked, we do (and for older kernels too). >> > > I meant, that was not an intentional part of the design, but rather a > side effect of the implementation. We can pretend it was all part of > a master plan and document it, though. > >>> Maybe we should turn complete_pio/complete_mmio to an ioctl, so that >>> we can control what happens exactly. Or maybe it's simplest to >>> document it as a feature and guarantee it. There's some merit in it >>> - only guest execution is the nonatomic part, so we only interrupt >>> that. >>> >> Right. So would you like a patch to x86.c to comment on this, on top of >> complete_pio / mmio completion? >> > > Documentation/kvm/api.txt. Note it's not x86 specific. Alex, can you > check if ppc complies? Hrm, trying to read the thread I'm still somewhat lost. What exactly do you want to document? Alex