From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marcelo Tosatti Subject: Re: [patch 1/3] KVM: x86: add ioctls to get/set PIO state Date: Thu, 4 Feb 2010 19:36:43 -0200 Message-ID: <20100204213643.GC2766@amt.cnet> References: <20100128190300.414710338@redhat.com> <20100128190411.495771070@redhat.com> <4B6B1D1F.1080701@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: kvm@vger.kernel.org, quintela@redhat.com To: Avi Kivity Return-path: Received: from mx1.redhat.com ([209.132.183.28]:2776 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754348Ab0BDVhH (ORCPT ); Thu, 4 Feb 2010 16:37:07 -0500 Received: from int-mx08.intmail.prod.int.phx2.redhat.com (int-mx08.intmail.prod.int.phx2.redhat.com [10.5.11.21]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o14Lb6kk002417 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for ; Thu, 4 Feb 2010 16:37:07 -0500 Content-Disposition: inline In-Reply-To: <4B6B1D1F.1080701@redhat.com> Sender: kvm-owner@vger.kernel.org List-ID: On Thu, Feb 04, 2010 at 09:16:47PM +0200, Avi Kivity wrote: > On 01/28/2010 09:03 PM, Marcelo Tosatti wrote: > >A vcpu can be stopped after handling IO in userspace, > >but before returning to kernel to finish processing. > > > > Is this strictly needed? If we teach qemu to migrate before > executing the pio request, I think we'll be all right? should work > at least for IN/INS, not sure about OUT/OUTS. It would be nice (instead of more state to keep track of between kernel/user) but the drawbacks i see are: You'd have to add a limitation so that any IN which was processed by device emulation has to re-entry kernel to complete it (so it complicates vcpu stop in userspace). And for OUTS larger than page size (== arch->pio_data size) you need to know the current position to continue it on the destination (or roll back the entire effect of the instruction in device emulation, and RIP).