public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Zachary Amsden <zach@vmware.com>
To: Antonio Vargas <windenntw@gmail.com>
Cc: Arjan van de Ven <arjan@infradead.org>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	Linus Torvalds <torvalds@osdl.org>,
	greg@kroah.com, Andrew Morton <akpm@osdl.org>,
	Christoph Hellwig <hch@infradead.org>,
	Rusty Russell <rusty@rustcorp.com.au>, Jack Lo <jlo@vmware.com>
Subject: Re: A proposal - binary
Date: Thu, 03 Aug 2006 10:57:56 -0700	[thread overview]
Message-ID: <44D23924.9040704@vmware.com> (raw)
In-Reply-To: <69304d110608030516y16f7d1fdiaccfbe4ecca3084a@mail.gmail.com>

Antonio Vargas wrote:
> If the essence of using virtual machines is precisely that the machine
> acts just as if it was a real hardware one, then we should not need
> any modifications to the kernel. So, it would be much better if the
> hypervirsor was completely transparent and just emulated a native cpu
> and a common native set of hardware, which would then work 100% with
> the native code in the kernel. This keeps the smarts of virtual
> machine management on the hypervisor.

You are basically arguing for full virtualization - which is fine.  But 
today as it stands it does not provide the highest level of performance 
that paravirtualization does, and in the future, it does little to 
provide more advanced virtualization features.

>
> For example, TBL and pagetable handling can be done with 2 interfaces,
> one standard via intercepting normal cpu instructions, and a batched
> one via a hardware driver with a FIFO on shared memory just like many
> graphics card do to send commands and data to the GPU. I recall this
> design was the one used in the mac-on-linux hypervisor for ppc
> architecture. Why not for x86 with vt/pacifica extensions? What about
> using the same design than on the Sparc T1 port?

You can't use a driver to do this in Linux today, because there are no 
hooks you can use for pagetable handling.  And you will always achieve 
better performance and simplicity by changing the machine definition to 
avoid the really nasty cases.  Hardware virtualization is simply not 
fast enough today.  But it also doesn't leave room for the future - 
proposals such as the abstract MMU interfaces for Linux which have been 
floating around are extremely attractive from a hypervisor point of view 
- but there can be no progress until there is some kind of consensus on 
what those are, and having an interface in the kernel is a requirement 
for any deeper level of paravirtualization.

Zach


  parent reply	other threads:[~2006-08-03 17:57 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 [this message]
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
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=44D23924.9040704@vmware.com \
    --to=zach@vmware.com \
    --cc=akpm@osdl.org \
    --cc=arjan@infradead.org \
    --cc=greg@kroah.com \
    --cc=hch@infradead.org \
    --cc=jlo@vmware.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rusty@rustcorp.com.au \
    --cc=torvalds@osdl.org \
    --cc=windenntw@gmail.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