qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Avi Kivity <avi@redhat.com>
Cc: Jan Kiszka <jan.kiszka@siemens.com>,
	qemu-devel <qemu-devel@nongnu.org>,
	KVM list <kvm@vger.kernel.org>
Subject: [Qemu-devel] Re: Need a new plan on adding kvm support to qemu
Date: Tue, 26 May 2009 03:31:40 -0500	[thread overview]
Message-ID: <4A1BA8EC.9080803@codemonkey.ws> (raw)
In-Reply-To: <4A1AB196.10008@redhat.com>

Avi Kivity wrote:
> While I appreciate the efforts to add clean qemu/kvm integration in 
> upstream, it's driving me mad.
>
> Every merge I'm faced with regressions (mostly due to changing code, 
> not to upstream breakage) and need to fix things.  Work done during 
> merges is very likely to contain errors since there's no incremental 
> change to review and test.
>
> We now have two very different kvm implementations:
>
> The upstream implementation:
>
> - mostly clean
> - crippled
>  - no smp
>  - no kernel irqchip
>  - no kernel pit
>  - no device assignment
>  - reduced support for older host kernels
>  - no ia64 support
>  - no nmi support
>  - no tpr patching
> - almost totally untested (small userbase)
>
> The downstream implementation:
> - a tangled mess
> - featureful and performant
>  #include <features from above>
> - heavily tested (kvm-autotest, large kvm userbase, inclusion in distros)
>
> What we have here is the classic rewrite fallacy (rewriting from 
> scratch is easier than fixing, now six months into the voyage with no 
> end in sight) coupled with inflicting pain to the largest contributor 
> to qemu (I mean the kvm community, not me personally).  Meanwhile, new 
> kvm kernel features need to be implemented twice in userspace.
>
> I propose that we stop this.  It is fragmenting the development 
> effort, causing regressions (again, mostly through merge issues, but 
> also through new code duplicating old code incorrectly), and not 
> really helping upstream qemu.  It's also the first case I've heard of 
> where a project competes with itself (well not really but it's a nice 
> soundbite).
>
> As a first step I've merged a copy of libkvm into qemu linkage (i.e. 
> not as a library), so we can start to use the upstream code (say, use 
> kvm_ioctl() from libkvm.c).  It's not going to be easy, but what we 
> have now isn't working.

I'm with you.  I think at this point we should try to make the qemu-kvm 
code use the upstream QEMU code where ever possible and then refactor 
the qemu-kvm into a mergable state.

A good second step would be getting rid of libkvm entirely.

Regards,

Anthony Liguori

      reply	other threads:[~2009-05-26  8:31 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25 14:56 [Qemu-devel] Need a new plan on adding kvm support to qemu Avi Kivity
2009-05-26  8:31 ` Anthony Liguori [this message]

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=4A1BA8EC.9080803@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=avi@redhat.com \
    --cc=jan.kiszka@siemens.com \
    --cc=kvm@vger.kernel.org \
    --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).