From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Jr2dl-0004Ze-Iu for qemu-devel@nongnu.org; Tue, 29 Apr 2008 23:05:53 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Jr2dj-0004ZS-CH for qemu-devel@nongnu.org; Tue, 29 Apr 2008 23:05:52 -0400 Received: from [199.232.76.173] (port=60110 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Jr2dj-0004ZP-8o for qemu-devel@nongnu.org; Tue, 29 Apr 2008 23:05:51 -0400 Received: from mx1.redhat.com ([66.187.233.31]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Jr2di-0003co-R0 for qemu-devel@nongnu.org; Tue, 29 Apr 2008 23:05:50 -0400 Message-ID: <4817E082.2060908@redhat.com> Date: Tue, 29 Apr 2008 23:59:14 -0300 From: Glauber Costa MIME-Version: 1.0 References: <12094981963747-git-send-email-gcosta@redhat.com> <4817A257.7000800@qumranet.com> <4817B0C8.8080301@redhat.com> <4817BD06.5020909@codemonkey.ws> In-Reply-To: <4817BD06.5020909@codemonkey.ws> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [kvm-devel] [PATCH] [RFC] try to reduce kvm impact in core qemu code. Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: kvm-devel@lists.sourceforge.net, qemu-devel@nongnu.org Anthony Liguori wrote: > Glauber Costa wrote: >> Avi Kivity wrote: >> >>> Glauber Costa wrote: >>> >>>> Hi. This is a proposal for reducing the impact of kvm functions in >>>> core qemu >>>> code. This is by all means not ready, but I felt like posting it, so >>>> a discussion >>>> on it could follow. >>>> >>>> The idea in this patch is to replace the specific kvm details from >>>> core qemu files >>>> like vl.c, with driver_yyy() functions. When kvm is not running, >>>> those functions would >>>> just return (most of time), absolutely reducing the impact of kvm code. >>>> >>>> As I wanted to test it, in this patch I changed the kvm functions to >>>> be called driver_yyy(), >>>> but that's not my final goal. I intend to use a function pointer >>>> schema, similar to what the linux >>>> kernel already do for a lot of its subsystem, to isolate the changes. >>>> >>>> Comments deeply welcome. >>>> >>> While I would be very annoyed if someone referred to kvm as a qemu >>> accelerator, I think accelerator_yyy() is more descriptive than >>> driver_yyy(). >>> >> How about booster? ;-) >> > > I don't think the concern from a QEMU perspective is that QEMU is too > intimately tied to KVM. The concern is that overtime, it will be very > difficult to make changes to QEMU without breaking KVM support because > of the shear number of hooks we require. Fabrice had actually suggested > merging libkvm into QEMU. We just need to reduce the overall number of > if (kvm_enabled()) blocks. They are not mutually exclusive. Even if we do merge libkvm into qemu, having it more modular and separated will be way better than having kvm hooks all over.