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
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
- 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.
--
I have a truly marvellous patch that fixes the bug which this
signature is too narrow to contain.
--
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