virtualization.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
From: Alok Kataria <akataria@vmware.com>
To: Gerd Hoffmann <kraxel@redhat.com>
Cc: Ingo Molnar <mingo@elte.hu>, Thomas Gleixner <tglx@linutronix.de>,
	"H. Peter Anvin" <hpa@zytor.com>,
	the arch/x86 maintainers <x86@kernel.org>,
	LKML <linux-kernel@vger.kernel.org>,
	Jeremy Fitzhardinge <jeremy@goop.org>,
	Chris Wright <chrisw@sous-sol.org>,
	Rusty Russell <rusty@rustcorp.com.au>,
	"virtualization@lists.osdl.org" <virtualization@lists.osdl.org>,
	Greg KH <greg@kroah.com>,
	Linus Torvalds <torvalds@linux-foundation.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Paravirtualization on VMware's Platform [VMI].
Date: Mon, 28 Sep 2009 17:45:07 -0700	[thread overview]
Message-ID: <1254185107.13456.32.camel@ank32.eng.vmware.com> (raw)
In-Reply-To: <4AB9CE66.1030504@redhat.com>


On Wed, 2009-09-23 at 00:29 -0700, Gerd Hoffmann wrote:
> On 09/22/09 21:30, Alok Kataria wrote:
> > Hi Ingo,
> >
> > On Sun, 2009-09-20 at 00:42 -0700, Ingo Molnar wrote:
> >
> >>
> >> The thing is, the overwhelming majority of vmware users dont benefit
> >> from hardware features like nested page tables yet. So this needs to be
> >> done _way_ more carefully, with a proper sunset period of a couple of
> >> kernel cycles.
> >
> > I am fine with that too. Below is a patch which adds notes in
> > feature-removal-schedule.txt, I have marked it for removal from 2.6.34.
> > Please consider this patch for 2.6.32.
> 
> Hmm.  Given that you are talking about vmi not being supported any more 
> in *future* products, there is a huge installed base with vmi support 
> available, right?  I don't think we should zap the code that quickly.

Yep, hpa too raised the same issue, I spoke to him during LPC and we
decided that 2.6.37 will be the right time frame for removal of this
code. 
For now I have just added some text in the feature-removal file and
disabled VMI by default in the Kconfig, the reason that needs to be done
is because "Live Migration" of a VMI enabled VM to future products which
don't support VMI will not work, so its important that newer distros
keep this disabled, if they want seamless migration that is.

> 
> >   config VMI
> > -	bool "VMI Guest support"
> > -	select PARAVIRT
> > -	depends on X86_32
> > +	bool "VMI Guest support [will be deprecated soon]"
> > +	default n
> > +	depends on X86_32&&  PARAVIRT
> >   	---help---
> >   	  VMI provides a paravirtualized interface to the VMware ESX server
> >   	  (it could be used by other hypervisors in theory too, but is not
> >   	  at the moment), by linking the kernel to a GPL-ed ROM module
> >   	  provided by the hypervisor.
> > +	  VMware has started a phased retirement of this feature from there
> > +	  products. Please see feature-removal-schedule.txt for details.
> 
> How about adding version numbers here?  i.e. latest versions with vmi 
> support are workstation x.y, ...
> 
> So people can easily figure whenever it makes sense to turn this on for 
> their environment.

Okay, have added that text too.

Thanks for your comments.

Ingo/hpa, please consider the patch below for tip. 

--

Mark VMI for deprecation in feature-removal-schedule.txt.

From: Alok N Kataria <akataria@vmware.com>

Add text in feature-removal.txt and also modify Kconfig to disable
vmi by default.
---

 Documentation/feature-removal-schedule.txt |   30 ++++++++++++++++++++++++++++
 arch/x86/Kconfig                           |   13 +++++++++---
 2 files changed, 40 insertions(+), 3 deletions(-)


diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index fa75220..0271f37 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -459,3 +459,33 @@ Why:	OSS sound_core grabs all legacy minors (0-255) of SOUND_MAJOR
 	will also allow making ALSA OSS emulation independent of
 	sound_core.  The dependency will be broken then too.
 Who:	Tejun Heo <tj@kernel.org>
+
+----------------------------
+
+What:	Support for VMware's guest paravirtuliazation technique [VMI] will be
+	dropped.
+When:	2.6.37 or earlier.
+Why:	With the recent innovations in CPU hardware acceleration technologies
+	from Intel and AMD, VMware ran a few experiments to compare these
+	techniques to guest paravirtualization technique on VMware's platform.
+	These hardware assisted virtualization techniques have outperformed the
+	performance benefits provided by VMI in most of the workloads. VMware
+	expects that these hardware features will be ubiquitous in a couple of
+	years, as a result, VMware has started a phased retirement of this
+	feature from the hypervisor. We will be removing this feature from the
+	Kernel too. Right now we are targeting 2.6.37 but can retire earlier if
+	technical reasons ( read opportunity to remove major chunk of pvops)
+	arise.
+
+	Please note that VMI has always been an optimization and non-VMI kernels
+	still work fine on VMware's platform.
+	Latest versions of VMware's product which support VMI are,
+	Workstation 7.0 and VSphere 4.0 on ESX side, future maintainence
+	releases for these products will continue supporting VMI.
+
+	For more details about VMI retirement take a look at this,
+	http://blogs.vmware.com/guestosguide/2009/09/vmi-retirement.html
+
+Who:	Alok N Kataria <akataria@vmware.com>
+
+----------------------------
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index e214f45..84fd47c 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -485,14 +485,21 @@ if PARAVIRT_GUEST
 source "arch/x86/xen/Kconfig"
 
 config VMI
-	bool "VMI Guest support"
-	select PARAVIRT
-	depends on X86_32
+	bool "VMI Guest support [will be deprecated soon]"
+	default n
+	depends on X86_32 && PARAVIRT
 	---help---
 	  VMI provides a paravirtualized interface to the VMware ESX server
 	  (it could be used by other hypervisors in theory too, but is not
 	  at the moment), by linking the kernel to a GPL-ed ROM module
 	  provided by the hypervisor.
+	  As of September 2009, VMware has started a phased retirement of this
+	  feature from VMware's products. Please see
+	  feature-removal-schedule.txt for details.
+	  If you are planning to enable this option, please note that you
+	  cannot live migrate a VMI enabled VM to a future VMware product,
+	  which doesn't support VMI. So if you expect your kernel to seamlessly
+	  migrate to newer VMware products, keep this disabled.
 
 config KVM_CLOCK
 	bool "KVM paravirtualized clock"

  reply	other threads:[~2009-09-29  0:45 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-18  0:17 Paravirtualization on VMware's Platform [VMI] Alok Kataria
2009-09-18  0:34 ` Chris Wright
2009-09-18  0:53   ` Jeremy Fitzhardinge
2009-09-18  0:58     ` Chris Wright
2009-09-18  1:43       ` Alok Kataria
2009-09-19  7:43 ` Avi Kivity
2009-09-19 22:44 ` Greg KH
2009-09-20  1:04   ` Jeremy Fitzhardinge
2009-09-20  3:56   ` Alok Kataria
2009-09-20  3:59   ` Alok Kataria
2009-09-20  7:42     ` Ingo Molnar
2009-09-20  7:52       ` Arjan van de Ven
2009-09-20  9:00         ` Avi Kivity
2009-09-20 15:49           ` Jeremy Fitzhardinge
2009-09-20 19:00             ` Avi Kivity
2009-09-22  8:09             ` Ingo Molnar
2009-09-22 16:52               ` Jeremy Fitzhardinge
2009-09-22 18:02                 ` Ingo Molnar
2009-09-22 18:16                   ` Jeremy Fitzhardinge
2009-09-22 19:04                     ` Ingo Molnar
2009-09-22 19:30                       ` Jeremy Fitzhardinge
2009-09-22  7:22           ` Rusty Russell
2009-09-22 16:53             ` Jeremy Fitzhardinge
2009-09-22 19:30       ` Alok Kataria
2009-09-22 19:47         ` Jeremy Fitzhardinge
2009-09-22 21:27         ` H. Peter Anvin
2009-09-22 21:54           ` Alok Kataria
2009-09-22 22:58             ` H. Peter Anvin
2009-09-23  7:29         ` Gerd Hoffmann
2009-09-29  0:45           ` Alok Kataria [this message]
2009-09-29  2:25             ` H. Peter Anvin
2009-09-29  3:00               ` Alok Kataria
2009-09-29  9:01                 ` Chris Wright
2009-09-29 17:25                   ` Alok Kataria
2009-09-29 17:27                     ` H. Peter Anvin
2009-09-29 17:36                       ` Alok Kataria
2009-09-29 18:21                     ` Chris Wright
2009-09-29  8:08             ` Arjan van de Ven
2009-09-29 16:49               ` Alok Kataria
2009-09-29 16:51                 ` H. Peter Anvin
2009-09-29 17:55                 ` Learning question regarding virtio and partvirt_ops Hank Janssen
2009-09-29 19:02                   ` Brian Jackson
2009-10-02  3:00                 ` Paravirtualization on VMware's Platform [VMI] Eric W. Biederman
2009-10-02  4:45                   ` Alok Kataria

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=1254185107.13456.32.camel@ank32.eng.vmware.com \
    --to=akataria@vmware.com \
    --cc=akpm@linux-foundation.org \
    --cc=chrisw@sous-sol.org \
    --cc=greg@kroah.com \
    --cc=hpa@zytor.com \
    --cc=jeremy@goop.org \
    --cc=kraxel@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@elte.hu \
    --cc=rusty@rustcorp.com.au \
    --cc=tglx@linutronix.de \
    --cc=torvalds@linux-foundation.org \
    --cc=virtualization@lists.osdl.org \
    --cc=x86@kernel.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).