qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Glauber Costa <gcosta@redhat.com>
Cc: kvm-devel@lists.sourceforge.net, qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [kvm-devel] [PATCH] [RFC] try to reduce kvm impact in core qemu code.
Date: Tue, 29 Apr 2008 19:27:50 -0500	[thread overview]
Message-ID: <4817BD06.5020909@codemonkey.ws> (raw)
In-Reply-To: <4817B0C8.8080301@redhat.com>

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.

You have to understand a lot about KVM to know why it's necessary to do 
an register reload call-out in the vmport hw for instance.  Instead of 
introducing generic hooks in vmport, a more appropriate solution may be 
to add wrappers to read individual register values within the QEMU 
device code.   We can then add our hooks to that.  I think a good 
argument can be made that devices should never access env-> directly.

Regards,

Anthony Liguori

  reply	other threads:[~2008-04-30  0:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-29 19:43 [Qemu-devel] [PATCH] [RFC] try to reduce kvm impact in core qemu code Glauber Costa
2008-04-29 22:33 ` [Qemu-devel] " Avi Kivity
2008-04-29 23:35   ` Glauber Costa
2008-04-30  0:27     ` Anthony Liguori [this message]
2008-04-30  2:59       ` [Qemu-devel] Re: [kvm-devel] " Glauber Costa

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4817BD06.5020909@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=gcosta@redhat.com \
    --cc=kvm-devel@lists.sourceforge.net \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).