Re: New kvm-related qemu patch queue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sun, Jan 10, 2010 at 02:02:27PM +0200, Avi Kivity wrote:
> In order to improve qemu.git kvm integration quality wrt
> performance, features, and reliability Marcelo and I will begin to
> maintain a patch queue based on qemu.git containing kvm-related
> patches.  We will review and apply patches to this queue, test them
> using the same test suite that is used for qemu-kvm.git, and
> regularly submit them for inclusion in qemu.git, mimicking the
> relationship between kvm.git and Linus' linux-2.6.git.
> 
> One of the problems of qemu.git kvm support is that it is a clean
> reimplementation, and thus some of the nuances that were carefully
> ironed out in qemu-kvm.git are lost.  To that end, we would like to
> change the process of adding features as follows:
> 
>  - first, the feature in qemu-kvm.git master is morphed to a form
> suitable for merging into qemu.git
>  - when that has been accomplished, the feature is broken into
> patches and merged into the patch queue
> 
If there is the same feature in qemu-kvm.git and qemu.git whom is morphed to
whom and who is merged where? I am confused. We have much of duplicated
code between qemu-kvm.git and qemu.git it is often almost, but not exactly the
same. Is it really productive to set rules who should be morphed and how
at this point?

> This process ensures that important details are not lost: the
> morphing step attempts to preserve all the nuances, and it is much
> easier to spot a behaviour change in a review than to spot a missing
> behaviour in a new feature.  This was successfully used to merge
> i386 and x86_64 arch support in Linux.
> 
> Some qemu-kvm.git features (primarily support for very old kernels)
> can be dropped, simplifying the convergence process.
> 
> Over time, qemu-kvm.git master will converge with qemu.git master
> and all that will remain is the patch queue.
> 
> Features in qemu-kvm.git not present in qemu.git include:
> - smp support
> - in-kernel irqchip
> - in-kernel pit
> - tpr patching
> - device assignment
> - kvm paravirtualization
> - boot=on (extboot, or a real option rom)
> - test suite
> - ia64
> - signalfd support
> 
> Many others are implemented differently in the two trees.
> 
> The patch queue will appear as a branch 'uq/master' (for 'upstream
> queue); if necessary branches for the stable series will also be
> created.
> 
> In order to get a kvm feature into qemu.git, please observe the
> following process:
> 
> - post a patch series against qemu-kvm.git/master that implements
> the feature, or changes an existing feature to use qemu.git
> infrastructure
It was other way around till last week. Why change?

> - once that's merged, post a patch series against
> qemu-kvm.git/uq/master that brings the same code into qemu.git.
> 
> The new branch will be subject to the same automatic testing that
> qemu-kvm.git is.
> 
> Please post patches to both qemu-devel and kvm mailing lists.
> 
> This won't work for all features, so we'll have to feel our way and
> make decisions on a case by case basis.
> 
> 

--
			Gleb.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux