RE: Xen & VMI?

Nakajima, Jun
2007-03-06T17:18:38Z

Anthony Liguori wrote:
> Ingo Molnar wrote:
>> * Gerd Hoffmann <kraxel@suse.de> wrote:
>>
>>>>> So in the end you would still have two different hypervisor ABI's,
>>>>> the VMI ROM just hides that.
>>>> oh, but that way i have cleverly pushed the problem out of Linux
>>>> and into the VMI-ROM's domain ;) Which is all i care about.
>>> Fine, so lets move kvm paravirtualitzation into vmi too (proof of
>>> concept code by Anthony Liguori exists) and kill one more item on
>>> the (linux) QA test matrix? (just following your arguments, not
>>> that I'm confident it would actually help reducing QA effort).
>>
>> yes - although obviously a KVM Linux guest does not need such an
>> interface - but it's a nice proof of concept to integrate other guest
>> OSs into KVM.
>
> I disagree that a KVM Linux guest does not benefit from VMI. Right
> now, your KVM paravirt interface only covers CR3 target caching and
> apic enhancements (neither of which I believe have made it into
> 2.6.21). Inevitably, things like MMU batching will be added.

I think a KVM Linux would benefit more from paravirt ops, rather than
VMI. The higher-level interface such as the one in Xen, espeically for
I/O, interrupt controllers, timer, SMP, etc. actually simplifies the
implementation of the VMM, and improve performance of the guest. Even
for MMU, direct page tables, for example, would work better for
hardware-based virtualization because the processor can use the native
page tables.

>
> Using paravirt_ops, this is going to require new kernels for the
> guests. Every new paravirtualization feature will require a new
> guest kernel. With VMI, one can add these features to any 2.6.21+
> guest by just modifying the ROM (assuming a newer host). Some
> features will require new VMI entry points but quite a lot will fall
> under the current entry points.
>
> Of all the hypervisors, KVM is the easiest to use VMI with. QEMU
> already supports option ROM loading and Zach just made some changes to
> allow a native ROM to be implemented very easily.
>
> If we're going to use VMI for anything other than VMware, it seems to
> be that KVM should be what we use it for.
>
> Regards,
>
> Anthony Liguori
>
>> Ingo
>

Jun
---
Intel Open Source Technology Center