public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Jeremy Fitzhardinge <jeremy@xensource.com>
To: Greg KH <greg@kroah.com>
Cc: Zachary Amsden <zach@vmware.com>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@osdl.org>, Andrew Morton <akpm@osdl.org>,
	Christoph Hellwig <hch@infradead.org>,
	Rusty Russell <rusty@rustcorp.com.au>, Jack Lo <jlo@vmware.com>,
	xen-devel@lists.xensource.com, simon@xensource.com,
	Ian Pratt <ian.pratt@xensource.com>,
	Jeremy Fitzhardinge <jeremy@goop.org>
Subject: Re: A proposal - binary
Date: Thu, 03 Aug 2006 19:52:40 -0700	[thread overview]
Message-ID: <44D2B678.6060400@xensource.com> (raw)
In-Reply-To: <20060803200136.GB28537@kroah.com>

Greg KH wrote:
> On Thu, Aug 03, 2006 at 12:26:16PM -0700, Zachary Amsden wrote:
>   
>> Who said that?  Please smack them on the head with a broom.  We are all 
>> actively working on implementing Rusty's paravirt-ops proposal.  It 
>> makes the API vs ABI discussion moot, as it allow for both.
>>     
>
> So everyone is still skirting the issue, oh great :)
>   

I don't really think there's an issue to be skirted here.  The current 
plan is to design and implement a paravirt_ops interface, which is a 
typical Linux source-level interface between the bulk of the kernel and 
a set of hypervisor-specific backends.  Xen, VMWare and other interested 
parties are working together on this interface to make sure it meets 
everyone's needs (and if you have another hypervisor you'd like to 
support with this interface, we want to hear from you).

Until VMWare proposed VMI, Xen was the only hypervisor needing support, 
so it was reasonable that the Xen patches just go straight to Xen.  But 
with paravirtops the result will be more flexible, since a kernel will 
be configurable to run on any combination of supported hypervisor or on 
bare hardware.

As far as I'm concerned, the issue of whether VMI has a stable ABI or 
not is one which on the VMI side of the paravirtops interface, and it 
doesn't have any wider implications.

Certainly Xen will maintain a backwards compatible hypervisor interface 
for as long as we want/need to, but that's a matter for our side of 
paravirtops.  And the paravirtops interface will change over time as the 
kernel does, and the backends will be adapted to match, either using the 
same ABI to the underlying hypervisor, or an expanded one, or whatever; 
it doesn't matter as far as the rest of the kernel is concerned.

There's the other question of whether VMI is a suitable interface for 
Xen, making the whole paravirt_ops exercise redundant.  Zach and VMWare 
are claiming to have a VMI binding to Xen which is full featured with 
good performance.  That's an interesting claim, and I don't doubt that 
its somewhat true.  However, they haven't released either code for this 
interface or detailed performance results, so its hard to evaluate.  And 
with anything in this area, its always the details that matter: what 
tests, on what hardware, at what scale?  Does VMI really expose all of 
Xen's features, or does it just use a bare-minimum subset to get things 
going?  And how does the interface fit with short and long term design 
goals?

I don't think anybody is willing to answer these questions with any 
confidence.  VMWare's initial VMI proposal was very geared towards their 
particular hypervisor architecture; it has been modified over time to be 
a little closer to Xen's model, in order to efficiently support the Xen 
binding.  But Xen and ESX have very different designs and underlying 
philosophies, so I wouldn't expect a single interface to fit comfortably 
with either.

As far as LKML is concerned, the only interface which matters is the 
Linux -> <something> interface, which is defined within the scope of the 
Linux development process.  That's what paravirt_ops is intended to be.

And being a Linux API, paravirt_ops can avoid duplicating other Linux 
interfaces. For example, VMI, like the Xen hypervisor interface, need 
various ways to deal with time.  The rest of the kernel needn't know or 
care about those interfaces, because the paravirt backend for each can 
also register a clocksource, or use other kernel APIs to expose that 
interface (some of which we'll probably develop/expand over time as 
needed, but in the normal way kernel interfaces chance).

    J

  parent reply	other threads:[~2006-08-04  2:52 UTC|newest]

Thread overview: 96+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-03 10:14 A proposal - binary Zachary Amsden
2006-08-03 11:16 ` Arjan van de Ven
2006-08-03 12:16   ` Antonio Vargas
2006-08-03 15:17     ` Rik van Riel
2006-08-03 16:05     ` Chris Wright
2006-08-03 17:57     ` Zachary Amsden
2006-08-03 18:29       ` Antonio Vargas
2006-08-03 18:47         ` Zachary Amsden
2006-08-03 18:08   ` Zachary Amsden
2006-08-03 19:03     ` Greg KH
2006-08-03 19:14       ` Zachary Amsden
2006-08-03 19:36         ` Greg KH
2006-08-03 19:56           ` Dave Jones
2006-08-03 19:59             ` Greg KH
2006-08-03 20:25             ` Options depending on STANDALONE Adrian Bunk
2006-08-03 20:28               ` Greg KH
2006-08-03 20:41                 ` Dave Jones
2006-08-03 23:40               ` [v4l-dvb-maintainer] " Trent Piepho
2006-08-05 10:51                 ` Adrian Bunk
2006-08-06 11:18                   ` Oliver Endriss
2006-08-13 16:36                     ` Adrian Bunk
2006-08-14 21:15                       ` Trent Piepho
2006-08-27 21:45                         ` Adrian Bunk
2006-08-03 19:48     ` A proposal - binary linux-os (Dick Johnson)
2006-08-04  6:13       ` Jan Engelhardt
2006-08-03 21:03     ` Alan Cox
2006-08-03 13:21 ` Alan Cox
2006-08-03 20:29   ` Willy Tarreau
2006-08-03 21:12     ` Alan Cox
2006-08-03 21:27       ` Zachary Amsden
2006-08-03 15:35 ` Rik van Riel
2006-08-03 18:36   ` Zachary Amsden
2006-08-05 10:45     ` Pavel Machek
2006-08-06 22:45       ` Zachary Amsden
2006-08-06 22:59         ` Greg KH
2006-08-08  0:12         ` Pavel Machek
2006-08-08  0:42           ` Zachary Amsden
2006-08-09  7:43             ` Pavel Machek
2006-08-03 19:06 ` Greg KH
2006-08-03 19:26   ` Zachary Amsden
2006-08-03 20:01     ` Greg KH
2006-08-03 21:41       ` Zachary Amsden
2006-08-03 22:33         ` Alan Cox
2006-08-03 22:30           ` Greg KH
2006-08-03 22:49             ` Zachary Amsden
2006-08-03 22:31           ` Zachary Amsden
2006-08-03 23:30             ` Alan Cox
2006-08-03 23:40               ` Zachary Amsden
2006-08-04 10:21                 ` Alan Cox
2006-08-04 14:34                   ` Theodore Tso
2006-08-05  0:06                     ` Paul Mackerras
2006-08-04  8:56         ` Christoph Hellwig
2006-08-04  2:52       ` Jeremy Fitzhardinge [this message]
2006-08-04  4:18         ` Andrew Morton
2006-08-04  5:04           ` Rusty Russell
2006-08-04  5:53             ` Andrew Morton
2006-08-04  7:04               ` Rusty Russell
2006-08-04  7:21                 ` Andrew Morton
2006-08-04  8:29                   ` Rusty Russell
2006-08-04 16:57                 ` David Lang
2006-08-04 18:38                   ` Jeremy Fitzhardinge
2006-08-04 18:46                   ` Antonio Vargas
2006-08-04 19:06                     ` David Lang
2006-08-04 19:26                       ` Arjan van de Ven
2006-08-04 19:45                         ` David Lang
2006-08-04 20:11                           ` Jeremy Fitzhardinge
2006-08-04 20:31                             ` David Lang
2006-08-04 21:26                               ` Jeremy Fitzhardinge
2006-08-04 21:40                                 ` Bill Rugolsky Jr.
2006-08-04 22:00                           ` Arjan van de Ven
2006-08-04 22:45                             ` David Lang
2006-08-04 19:45                       ` Jeff Dike
2006-08-04 19:49                         ` David Lang
2006-08-04 21:46                           ` Jeff Dike
2006-08-04 22:40                             ` David Lang
2006-08-04  5:40           ` Chris Wright
2006-08-04  6:28             ` Antonio Vargas
2006-08-04  7:01               ` Chris Wright
2006-08-04  7:19                 ` Antonio Vargas
2006-08-04  7:37                   ` Chris Wright
2006-08-04 18:34       ` Chris Wright
2006-08-04 20:41         ` Zachary Amsden
2006-08-04 20:52           ` Chris Wright
2006-08-04 21:26           ` Alan Cox
2006-08-05  1:14             ` James Bottomley
2006-08-05  5:37               ` Zachary Amsden
2006-08-05 10:42                 ` Adrian Bunk
2006-08-05 11:50                 ` Alan Cox
2006-08-04 22:01           ` Andi Kleen
2006-08-04 22:39             ` Zachary Amsden
2006-08-04 22:52               ` Andi Kleen
2006-08-04 22:43             ` David Lang
2006-08-05 10:47             ` Adrian Bunk
2006-08-05 11:57               ` Andi Kleen
2006-08-05  1:30           ` James Bottomley
2006-08-05  4:33             ` Zachary Amsden

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=44D2B678.6060400@xensource.com \
    --to=jeremy@xensource.com \
    --cc=akpm@osdl.org \
    --cc=greg@kroah.com \
    --cc=hch@infradead.org \
    --cc=ian.pratt@xensource.com \
    --cc=jeremy@goop.org \
    --cc=jlo@vmware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=simon@xensource.com \
    --cc=torvalds@osdl.org \
    --cc=xen-devel@lists.xensource.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox