Re: [PATCH] KVM: Add wrapper script around QEMU to test kernels

Paolo Bonzini
2011-11-06T20:01:31Z

On 11/06/2011 08:17 PM, Pekka Enberg wrote:
>> > But I'm pretty certain that, when testing 3.2 with KVM tool in a couple of
>> > years, I want all the shining new features you added in this time; I don't
>> > want the old end-2011 code. Same if I'm bisecting kernels, I don't want to
>> > build KVM tool once per bisection cycle, do I?
>
> If you're bisecting breakage that can be in the guest kernel or the
> KVM tool, you'd want to build both.

No. I want to try new tool/old kernel and old tool/new kernel (kernel
can be either guest or host, depending on the nature of the bug), and
then bisect just one. (*) And that's the exceptional case, and only KVM
tool developers really should have the need to do that.

(*) Not coincidentially, that's what git bisect does when HEAD is
a merge of two unrelated histories.

> What would prevent you from using a newer KVM tool with an older kernel?

Nothing, but I'm just giving you *strong* hints that a submodule or a
merged tool is the wrong solution, and the histories of kernel and tool
should be kept separate.

More clearly: for its supposedly intended usage, namely testing
development kernels in a *guest*, KVM tool will generally not run on the
exact *host* kernel that is in the tree it lives with. Almost never, in
fact. Unlike perf, if you want to test multiple guest kernels you
should never need to rebuild KVM tool!

This is the main argument as to whether or not to merge the tool. Would
the integration of the *build* make sense or not? Assume you adapt the
ktest script to make both the KVM tool and the kernel, and test the
latter using the former. Your host kernel never changes, and yet you
introduce a new variable in your testing. That complicates things, it
doesn't simplify them.

Paolo