Re: [GIT PULL] Native Linux KVM tool for 3.1

Alexander Graf
2011-07-25T08:14:16Z

On 25.07.2011, at 09:53, Ingo Molnar wrote:

>
> * Pekka Enberg <penberg@kernel.org> wrote:
>
>> On Mon, Jul 25, 2011 at 2:12 AM, Jan Kiszka <jan.kiszka@web.de> wrote:
>>> That said, I definitely appreciate the bug fixes as well as code and
>>> documentation improvements for KVM that originate from this effort! I'm
>>> just not convinced that writing a new userland and merging it into the
>>> kernel is the most efficient way to achieve that.
>>
>> Just to make this crystal clear for everyone: if it weren't for
>> tools/kvm, I wouldn't be hacking on KVM at all. I've looked at Qemu
>> in the past (and a lot recently!) and I simply don't see myself
>> contributing to it, sorry. So 'most efficient' or not, I think
>> tools/kvm is a net win for Linux and KVM in general.
>
> Same here - in fact i first asked Qemu to be put into tools/qemu/ so
> that it all becomes more hackable and more usable - that suggestion
> was rebuked very strongly.

So instead of thinking a bit and trying to realize that there might be a reason people don't want all their user space in the kernel tree you go ahead and start your own crusade of creating a new user space. Great. That's how I always hoped Linux would be :(.

> So i wanted to have a lightweight tool that allows me to test KVM and
> tools/kvm/ does that very nicely: i type './kvm run' and i can test a
> native bzImage (which has some virtualization options enabled as
> well) on the _host_ distro i am running, booting to a text shell
> prompt.

I do that all the time.

$ qemu-kvm -nographic -kernel arch/x86/boot/bzImage -append console=ttyS0

does the exact same thing. If that's too much typing for you, make it a bash alias.

> I can do that without downloading any (inevitably outdated)
> virtualization images or maintaining my own ones. Maintaining host
> userspace is more than enough for me.

Who would need images? I usually only run -kernel and -initrd directly to test out things. Or if I really want to boot into a real system I do -snapshot /dev/sda.

> So, since we already have the lguest tool in the kernel tree, why
> cannot we have the much more capable tools/kvm/ in the tree?

Lguest is in Documentation/ for a reason. It's not meant as a user space tool that you take as-is and use. It's meant for documenting how lguest works in general. I admit though, that that's also the reason people don't use it :).

> So while it is the Qemu folks' right to oppose tools/qemu/, i don't
> see why they are opposing tools/kvm/ ...

In your logic, you would put all of the GNU utils into tools/. This is just plain insane. There's a reason we have the split between kernel and user space. What does putting them into the same tree bring you? Fame? Glorious stats on kernel commits? Seriously, it's a separate project. It's not the kernel.

> Wrt. integration with lguest - this is a new argument that was not
> brought up before (i wish people would not come up with new
> requirements on the day of the pull request) - i don't see how it's
> relevant really: lguest was designed for legacy CPUs and tools/kvm/
> is precisely about being simple and not doing legacy stuff.
>
> If then Qemu should be the project that integrates lguest. Is anyone
> on the Qemu side looking at lguest integration?

I don't think lguest integration makes sense for anyone or anything. Lguest is a toy, so let it be the toy it wants to be.

Alex