From: Jeremy Fitzhardinge <jeremy@goop.org>
To: Ingo Molnar <mingo@elte.hu>
Cc: Gerd Hoffmann <kraxel@suse.de>,
virtualization <virtualization@lists.osdl.org>,
Jan Beulich <jbeulich@novell.com>,
Andrew Morton <akpm@linux-foundation.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Roland McGrath <roland@redhat.com>,
linux-kernel@vger.kernel.org
Subject: Re: Xen & VMI?
Date: Tue, 06 Mar 2007 08:27:36 -0800 [thread overview]
Message-ID: <45ED9678.5050907@goop.org> (raw)
In-Reply-To: <20070306115937.GA25313@elte.hu>
Ingo Molnar wrote:
> legacy support has to be ensured, but it does not hugely matter in terms
> of the designing our future. What matters is that once we change some
> fundamental aspect of Linux, we can adopt lguest/KVM immediately. With
> 'external' hypervisors there is no such compulsory forward motion, and
> my fear is that by giving them ABI interfaces to the innards of the
> Linux guest they will just stick with those ABIs - and worse, drag Linux
> along with them. (because distros will be forced by the legacy
> assumptions to carry those ABIs along.)
>
So what's your argument here? That if Xen/ESX/whatever are evolved
separately from Linux, then they should be tied together behind one ABI,
so that even if one could support a new Linux feature it can't move
until everyone else implementing the ABI too? How does that help anyone?
The big practical difficulty is that there are no examples of an ABI
with multiple implementations all being sufficiently cross-compatible
that a user of that ABI can actually rely on it working consistently
(and certainly not to the extent that it actually reduces the test
matrix size). There are masses of subtle details that are hard to get
right, and making sure that multiple implementations get all this right
is apparently impossible (otherwise ACPI would be a dream to work with...).
> lguest/KVM is fundamentally special because its future evolution is
> naturally aligned with that of Linux.
lguest is special, because it is purely kernel-internal (and because
Rusty wrote it, of course). kvm is not, and I don't see why you think
it is. In its simplest form its a thin layer which exposes hardware
virtualization to usermode, which happens to be qemu at the moment. Its
evolving some bells and whistles, but at heart it's being developed by a
company with just as much commercial interest and backing as Xen and
VMI, and it has the scope to be just as cross-platform.
> Sure, legacies will have to be
> taken care of (just like Linux supports old system-calls and even old
> driver APIs in some circumstances), but there is no danger of KVM
> staying in legacy land forever.
Sure there is. It needs the usermode part to keep sync; that's easy if
its qemu, but you're stuck if its a proprietary usermode implementing
that end of the kvm equation.
> With Xen and VMWare i see no guarantee
> at all that Linux wont be hindered by their legacies (or by any plain
> diverging approaches) forever.
>
Well, if the kernel goes one way and Xen doesn't follow, then that
pretty severely restricts Xen's usefulness - there's a pretty strong
incentive for Xen to keep supporting Linux. And besides, Xen is all
GPL, so anyone who's sufficiently motivated can do this work.
> so for example, if we change some fundamental thing that can be
> implemented via the legacy ABI but only slowly, that's not a problem
> because new-lguest/new-KVM will use the new approach, so there's a
> straightforward technology-based migratory path out of the legacy. But
> if Xen or VMWare were to stick with that legacy ABI forever (for
> whatever reason), we couldnt solve that situation on the Linux side at
> all, via technological measures.
>
Well, that's the reason for minimizing Linux's exposure to any ABI.
Clearly the interface to a hypervisor has to be *some* ABI. But it
doesn't help anyone if there's an extra uber-ABI which is a superset of
all the underlying hypervisor ABIs; that's just a big rigid, brittle mess.
The whole point of pv_ops is to allow the hypervisors interfaces to
evolve at their own pace without having to constrain the core kernel's
development
> 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.
>
Well, if there were any other guests that used VMI that might be
useful. You'd get further using the Xen ABI.
J
next prev parent reply other threads:[~2007-03-06 16:27 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20070305120631.GA14105@elte.hu>
2007-03-05 13:28 ` [patch] paravirt: VDSO page is essential Rusty Russell
2007-03-05 13:38 ` Ingo Molnar
2007-03-05 14:34 ` Andi Kleen
2007-03-05 13:48 ` Ingo Molnar
2007-03-05 20:11 ` Zachary Amsden
2007-03-05 20:16 ` Andi Kleen
2007-03-05 20:33 ` Zachary Amsden
2007-03-05 20:19 ` Ingo Molnar
2007-03-05 20:42 ` Zachary Amsden
2007-03-06 0:57 ` Rusty Russell
2007-03-06 1:03 ` Zachary Amsden
2007-03-06 1:11 ` Rusty Russell
2007-03-06 1:14 ` Jeremy Fitzhardinge
2007-03-06 1:51 ` Zachary Amsden
2007-03-06 1:53 ` Jeremy Fitzhardinge
2007-03-06 8:19 ` Xen & VMI? Ingo Molnar
2007-03-06 8:37 ` Gerd Hoffmann
2007-03-06 8:48 ` Zachary Amsden
2007-03-06 8:52 ` Ingo Molnar
2007-03-06 9:03 ` Zachary Amsden
2007-03-06 9:10 ` Ingo Molnar
2007-03-06 9:15 ` Gerd Hoffmann
2007-03-06 9:34 ` Ingo Molnar
2007-03-06 10:15 ` Gerd Hoffmann
2007-03-06 10:26 ` Ingo Molnar
2007-03-06 11:04 ` Gerd Hoffmann
2007-03-06 11:59 ` Ingo Molnar
2007-03-06 12:34 ` Gerd Hoffmann
2007-03-06 15:03 ` Anthony Liguori
2007-03-06 17:17 ` Nakajima, Jun
2007-03-06 17:32 ` Anthony Liguori
2007-03-06 20:37 ` Ingo Molnar
2007-03-06 21:02 ` Jeremy Fitzhardinge
2007-03-06 21:11 ` Ingo Molnar
2007-03-06 21:13 ` Jeremy Fitzhardinge
2007-03-06 21:20 ` Ingo Molnar
2007-03-06 21:46 ` Jeremy Fitzhardinge
2007-03-06 21:35 ` Nakajima, Jun
2007-03-07 0:44 ` Rusty Russell
2007-03-07 0:54 ` Anthony Liguori
2007-03-07 3:06 ` Zachary Amsden
2007-03-07 8:15 ` Ingo Molnar
2007-03-07 9:17 ` Zachary Amsden
2007-03-07 11:15 ` Thomas Gleixner
2007-03-07 19:14 ` Dan Hecht
2007-03-06 16:27 ` Jeremy Fitzhardinge [this message]
2007-03-06 17:11 ` Ingo Molnar
2007-03-06 17:33 ` Jeremy Fitzhardinge
2007-03-07 2:16 ` Zachary Amsden
2007-03-06 9:55 ` Avi Kivity
2007-03-06 10:23 ` Gerd Hoffmann
2007-03-06 10:31 ` Ingo Molnar
2007-03-06 19:46 ` Chris Wright
2007-03-06 20:30 ` Ingo Molnar
2007-03-06 20:53 ` Chris Wright
2007-03-06 21:03 ` Ingo Molnar
2007-03-06 21:28 ` Chris Wright
2007-03-07 2:35 ` Zachary Amsden
2007-03-06 9:07 ` Jeremy Fitzhardinge
2007-03-06 9:26 ` Ingo Molnar
2007-03-06 16:42 ` Jeremy Fitzhardinge
2007-03-06 17:18 ` Ingo Molnar
2007-03-06 18:04 ` Jeremy Fitzhardinge
2007-03-06 7:35 ` [patch] paravirt: VDSO page is essential Ingo Molnar
2007-03-06 7:42 ` Zachary Amsden
2007-03-06 7:50 ` Ingo Molnar
2007-03-06 18:48 ` Jeremy Fitzhardinge
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=45ED9678.5050907@goop.org \
--to=jeremy@goop.org \
--cc=akpm@linux-foundation.org \
--cc=jbeulich@novell.com \
--cc=kraxel@suse.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=roland@redhat.com \
--cc=torvalds@linux-foundation.org \
--cc=virtualization@lists.osdl.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).