From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NElkw-0008Vs-Fi for qemu-devel@nongnu.org; Sun, 29 Nov 2009 10:32:10 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NElks-0008Tn-33 for qemu-devel@nongnu.org; Sun, 29 Nov 2009 10:32:10 -0500 Received: from [199.232.76.173] (port=50896 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NElkr-0008Tk-TY for qemu-devel@nongnu.org; Sun, 29 Nov 2009 10:32:05 -0500 Received: from mx1.redhat.com ([209.132.183.28]:48092) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NElkq-0001S6-M0 for qemu-devel@nongnu.org; Sun, 29 Nov 2009 10:32:04 -0500 Message-ID: <4B1293F2.4020702@redhat.com> Date: Sun, 29 Nov 2009 17:32:02 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 4/7] qemu_flush_work for remote vcpu execution References: <1259256300-23937-1-git-send-email-glommer@redhat.com> <1259256300-23937-2-git-send-email-glommer@redhat.com> <1259256300-23937-3-git-send-email-glommer@redhat.com> <1259256300-23937-4-git-send-email-glommer@redhat.com> <1259256300-23937-5-git-send-email-glommer@redhat.com> In-Reply-To: <1259256300-23937-5-git-send-email-glommer@redhat.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Glauber Costa Cc: aliguori@us.ibm.com, qemu-devel@nongnu.org On 11/26/2009 07:24 PM, Glauber Costa wrote: > This function is similar to qemu-kvm's on_vcpu mechanism. Totally synchronous, > and guarantees that a given function will be executed at the specified vcpu. > > The approach I am taking is to put it under the hood, in kvm_vcpu_ioctl. > This way, the kvm_vcpu_ioctl can be used anywhere, and we guarantee it will never > be executed outside its realm. > > This is not much of a problem, since remote execution is rare. It does happen at > lot at machine bootup, because saving/restoring registers spans a lot of ioctls, > but this should get better if we move to Jan's patch of doing it all at once. > I really dislike this. In general vcpu ioctls are used as components of some work to be done, for example RMW of some state. In this case it is meaningless to execute the ioctls remotely, you need to execute the entire RMW remotely instead. -- error compiling committee.c: too many arguments to function