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