From mboxrd@z Thu Jan 1 00:00:00 1970 From: Avi Kivity Subject: Re: [Qemu-devel] [PATCH 28/35] kvm: x86: Introduce kvmclock device to save/restore its state Date: Tue, 25 Jan 2011 13:06:33 +0200 Message-ID: <4D3EAEB9.80803@redhat.com> References: <4D2B6CB5.9050602@codemonkey.ws> <4D2B74D8.4080309@web.de> <4D2B8662.9060909@web.de> <4D2C60FB.7030009@linux.vnet.ibm.com> <4D2D80ED.8030405@redhat.com> <4D2D82EE.20002@siemens.com> <4D35A39A.8000801@siemens.com> <4D35ABF8.9050700@linux.vnet.ibm.com> <4D35B521.3090601@siemens.com> <4D35B6DD.1020005@linux.vnet.ibm.com> <4D3717E7.3010105@linux.vnet.ibm.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: Markus Armbruster , Jan Kiszka , "kvm@vger.kernel.org" , Glauber Costa , Marcelo Tosatti , "qemu-devel@nongnu.org" To: Anthony Liguori Return-path: Received: from mx1.redhat.com ([209.132.183.28]:33592 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751699Ab1AYLGm (ORCPT ); Tue, 25 Jan 2011 06:06:42 -0500 In-Reply-To: <4D3717E7.3010105@linux.vnet.ibm.com> Sender: kvm-owner@vger.kernel.org List-ID: On 01/19/2011 06:57 PM, Anthony Liguori wrote: > On 01/19/2011 07:15 AM, Markus Armbruster wrote: >> So they interact with KVM (need kvm_state), and they interact with the >> emulated PCI bus. Could you elaborate on the fundamental difference >> between the two interactions that makes you choose the (hypothetical) >> KVM bus over the PCI bus as device parent? > > It's almost arbitrary, but I would say it's the direction that I/Os flow. > In the case of kvm, things are somewhat misleading. I/O still flows through the (virtual) PCI bus, it's just short-circuited to a real device. Similarly when attaching an ioeventfd to a virtio kick register, things still logically from the same way as without ioeventfd; we simply add a fast path for the operation. But it doesn't change the logical view of things. -- error compiling committee.c: too many arguments to function From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49097 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PhgjS-00023W-98 for qemu-devel@nongnu.org; Tue, 25 Jan 2011 06:06:43 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PhgjQ-0005bb-FT for qemu-devel@nongnu.org; Tue, 25 Jan 2011 06:06:42 -0500 Received: from mx1.redhat.com ([209.132.183.28]:20228) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PhgjQ-0005bF-6y for qemu-devel@nongnu.org; Tue, 25 Jan 2011 06:06:40 -0500 Message-ID: <4D3EAEB9.80803@redhat.com> Date: Tue, 25 Jan 2011 13:06:33 +0200 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH 28/35] kvm: x86: Introduce kvmclock device to save/restore its state References: <4D2B6CB5.9050602@codemonkey.ws> <4D2B74D8.4080309@web.de> <4D2B8662.9060909@web.de> <4D2C60FB.7030009@linux.vnet.ibm.com> <4D2D80ED.8030405@redhat.com> <4D2D82EE.20002@siemens.com> <4D35A39A.8000801@siemens.com> <4D35ABF8.9050700@linux.vnet.ibm.com> <4D35B521.3090601@siemens.com> <4D35B6DD.1020005@linux.vnet.ibm.com> <4D3717E7.3010105@linux.vnet.ibm.com> In-Reply-To: <4D3717E7.3010105@linux.vnet.ibm.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: Anthony Liguori Cc: "kvm@vger.kernel.org" , Jan Kiszka , Glauber Costa , Marcelo Tosatti , Markus Armbruster , "qemu-devel@nongnu.org" On 01/19/2011 06:57 PM, Anthony Liguori wrote: > On 01/19/2011 07:15 AM, Markus Armbruster wrote: >> So they interact with KVM (need kvm_state), and they interact with the >> emulated PCI bus. Could you elaborate on the fundamental difference >> between the two interactions that makes you choose the (hypothetical) >> KVM bus over the PCI bus as device parent? > > It's almost arbitrary, but I would say it's the direction that I/Os flow. > In the case of kvm, things are somewhat misleading. I/O still flows through the (virtual) PCI bus, it's just short-circuited to a real device. Similarly when attaching an ioeventfd to a virtio kick register, things still logically from the same way as without ioeventfd; we simply add a fast path for the operation. But it doesn't change the logical view of things. -- error compiling committee.c: too many arguments to function