All of lore.kernel.org
 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: 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

WARNING: multiple messages have this Message-ID (diff)
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: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-25 14:56 Need a new plan on adding kvm support to qemu Avi Kivity
2009-05-25 14:56 ` [Qemu-devel] " Avi Kivity
2009-05-26  8:31 ` Anthony Liguori [this message]
2009-05-26  8:31   ` [Qemu-devel] " Anthony Liguori

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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.