From: Ingo Molnar <mingo@elte.hu>
To: Chris Wright <chrisw@sous-sol.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>,
Jeremy Fitzhardinge <jeremy@goop.org>,
Zachary Amsden <zach@vmware.com>,
Thomas Gleixner <tglx@linutronix.de>,
john stultz <johnstul@us.ibm.com>,
akpm@linux-foundation.org, LKML <linux-kernel@vger.kernel.org>,
Rusty Russell <rusty@rustcorp.com.au>, Andi Kleen <ak@suse.de>,
Alan Cox <alan@lxorguk.ukuu.org.uk>
Subject: Re: ABI coupling to hypervisors via CONFIG_PARAVIRT
Date: Fri, 9 Mar 2007 22:47:04 +0100 [thread overview]
Message-ID: <20070309214704.GA20988@elte.hu> (raw)
In-Reply-To: <20070309212714.GU10574@sequoia.sous-sol.org>
* Chris Wright <chrisw@sous-sol.org> wrote:
> * Ingo Molnar (mingo@elte.hu) wrote:
> > ( if there is no backwards compatibility promise then i have zero
> > complaints: then paravirt_ops + the hypercall just becomes another API
> > internal to Linux that we can improve at will. But that is not
> > realistic: if we provide CONFIG_VMI today, people will expect to have
> > CONFIG_VMI in the future too. )
>
> This was the whole reason we didn't adopt VMI directly. Instead,
> preferring an kernel internal API, pv_ops, that can adopt naturally as
> the kernel changes, and it is the pv_ops client code's (or backend as
> it is also referred to) responsibility to do whatever is necessary to
> map back to the hypervisor's ABI. The goal was explicitly to keep
> things internal fluid as usual. As I said before, no matter how you
> slice it there's glue code somewhere to deal with compatibilities. And
> it's always been the virtualization platform's responsibility to deal
> with the changes.
For example, for the sake of argument, if the VMI ABI consisted only of
a single call:
#define VMI_CALL_NOP 1
then obviously it would be very hard for VMI to adopt to changes in the
kernel - no matter how many smarts you put into paravirt_ops :-)
agreed? That is the center of my argument. Does the VMI ABI limit the
Linux kernel or not?
As we increase the complexity of a hypercall ABI, more and more things
can be implemented via it. So _obviously_ there is a 'minimum level of
capability' for every hypercall ABI that is /required/ to keep the Linux
kernel 100% flexible. If in some tricky corner the ABI has some stupid
limit or assumption, it might stiffle future changes in Linux.
i am worried whether /any/ future change to the upstream kernel's design
can be adopted via paravirt_ops, via the current VMI ABI. And by /any/ i
mean truly any. And whether that can be done is not a function of the
flexibility of paravirt_ops, it's a function of the flexibility of the
VMI ABI.
Ingo
next prev parent reply other threads:[~2007-03-09 21:49 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-03-09 18:02 ABI coupling to hypervisors via CONFIG_PARAVIRT Ingo Molnar
2007-03-09 18:28 ` Andi Kleen
2007-03-09 18:30 ` Linus Torvalds
2007-03-09 19:24 ` Ingo Molnar
2007-03-09 19:51 ` Linus Torvalds
2007-03-09 20:12 ` Ingo Molnar
2007-03-09 21:05 ` Jeremy Fitzhardinge
2007-03-09 21:06 ` Linus Torvalds
2007-03-09 21:36 ` Ingo Molnar
2007-03-09 21:40 ` Jeremy Fitzhardinge
2007-03-09 22:27 ` Linus Torvalds
2007-03-09 22:50 ` Ingo Molnar
2007-03-09 23:07 ` Zachary Amsden
2007-03-09 23:10 ` Ingo Molnar
2007-03-09 23:38 ` Zachary Amsden
2007-03-09 21:04 ` Ingo Molnar
2007-03-09 21:27 ` Chris Wright
2007-03-09 21:47 ` Ingo Molnar [this message]
2007-03-09 21:59 ` Jeremy Fitzhardinge
2007-03-09 22:12 ` Ingo Molnar
2007-03-09 22:30 ` Jeremy Fitzhardinge
2007-03-09 22:10 ` Chris Wright
2007-03-09 22:24 ` Ingo Molnar
2007-03-09 22:36 ` Jeremy Fitzhardinge
2007-03-09 23:38 ` Ingo Molnar
2007-03-09 22:46 ` Chris Wright
2007-03-09 23:02 ` Ingo Molnar
2007-03-09 23:13 ` Rik van Riel
2007-03-09 20:50 ` Jan Engelhardt
2007-03-09 22:50 ` Lee Revell
2007-03-14 8:41 ` alsa was " Pavel Machek
2007-03-14 15:59 ` Jaroslav Kysela
2007-03-15 9:03 ` Pavel Machek
2007-03-15 9:10 ` Pavel Machek
2007-03-15 9:23 ` Zachary Amsden
2007-03-15 9:32 ` Pavel Machek
2007-03-09 19:00 ` Chris Wright
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=20070309214704.GA20988@elte.hu \
--to=mingo@elte.hu \
--cc=ak@suse.de \
--cc=akpm@linux-foundation.org \
--cc=alan@lxorguk.ukuu.org.uk \
--cc=chrisw@sous-sol.org \
--cc=jeremy@goop.org \
--cc=johnstul@us.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.org \
--cc=zach@vmware.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.