All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
@ 2007-09-25  3:58 Rusty Russell
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
                   ` (3 more replies)
  0 siblings, 4 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  3:58 UTC (permalink / raw)
  To: lkml - Kernel Mailing List; +Cc: virtualization, Andi Kleen

(Unless there are complaints, I'll push this as part of the lguest
patches for 2.6.24, since there are lguest config changes there too).

Andi points out that PARAVIRT is an option best selected when needed.

We introduce PARAVIRT_GUEST for the menu itself, and select PARAVIRT
if the user turns on anything which needs it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
 arch/i386/xen/Kconfig |    1 +
 2 files changed, 21 insertions(+), 13 deletions(-)

===================================================================
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -214,24 +214,30 @@ config X86_ES7000
 
 endchoice
 
-menuconfig PARAVIRT
+config PARAVIRT
+	bool
+	depends on !(X86_VISWS || X86_VOYAGER)
+	help
+	  This changes the kernel so it can modify itself when it is run
+	  under a hypervisor, potentially improving performance significantly
+	  over full virtualization.  However, when run without a hypervisor
+	  the kernel is theoretically slower and slightly larger.
+
+menuconfig PARAVIRT_GUEST
-	bool "Paravirtualized guest support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	bool "Paravirtualized guest support"
-	depends on !(X86_VISWS || X86_VOYAGER)
-	help
-	  Paravirtualization is a way of running multiple instances of
-	  Linux on the same machine, under a hypervisor.  This option
-	  changes the kernel so it can modify itself when it is run
-	  under a hypervisor, improving performance significantly.
-	  However, when run without a hypervisor the kernel is
-	  theoretically slower.  If in doubt, say N.
-
-if PARAVIRT
+	help
+	  Say Y here to get to see options related to running Linux under
+	  various hypervisors.  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if PARAVIRT_GUEST
 
 source "arch/i386/xen/Kconfig"
 
 config VMI
 	bool "VMI Guest support"
+	select 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
@@ -239,6 +246,7 @@ config VMI
 
 config LGUEST_GUEST
 	bool "Lguest guest support"
+	select PARAVIRT
 	depends on !X86_PAE
 	help
 	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
===================================================================
--- a/arch/i386/xen/Kconfig
+++ b/arch/i386/xen/Kconfig
@@ -4,6 +4,7 @@
 
 config XEN
 	bool "Xen guest support"
+	select PARAVIRT
 	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
 	help
 	  This is the Linux Xen port.  Enabling this will allow the



^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
@ 2007-09-25  3:58 Rusty Russell
  0 siblings, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  3:58 UTC (permalink / raw)
  To: lkml - Kernel Mailing List; +Cc: Andi Kleen, virtualization

(Unless there are complaints, I'll push this as part of the lguest
patches for 2.6.24, since there are lguest config changes there too).

Andi points out that PARAVIRT is an option best selected when needed.

We introduce PARAVIRT_GUEST for the menu itself, and select PARAVIRT
if the user turns on anything which needs it.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
 arch/i386/xen/Kconfig |    1 +
 2 files changed, 21 insertions(+), 13 deletions(-)

===================================================================
--- a/arch/i386/Kconfig
+++ b/arch/i386/Kconfig
@@ -214,24 +214,30 @@ config X86_ES7000
 
 endchoice
 
-menuconfig PARAVIRT
+config PARAVIRT
+	bool
+	depends on !(X86_VISWS || X86_VOYAGER)
+	help
+	  This changes the kernel so it can modify itself when it is run
+	  under a hypervisor, potentially improving performance significantly
+	  over full virtualization.  However, when run without a hypervisor
+	  the kernel is theoretically slower and slightly larger.
+
+menuconfig PARAVIRT_GUEST
-	bool "Paravirtualized guest support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	bool "Paravirtualized guest support"
-	depends on !(X86_VISWS || X86_VOYAGER)
-	help
-	  Paravirtualization is a way of running multiple instances of
-	  Linux on the same machine, under a hypervisor.  This option
-	  changes the kernel so it can modify itself when it is run
-	  under a hypervisor, improving performance significantly.
-	  However, when run without a hypervisor the kernel is
-	  theoretically slower.  If in doubt, say N.
-
-if PARAVIRT
+	help
+	  Say Y here to get to see options related to running Linux under
+	  various hypervisors.  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if PARAVIRT_GUEST
 
 source "arch/i386/xen/Kconfig"
 
 config VMI
 	bool "VMI Guest support"
+	select 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
@@ -239,6 +246,7 @@ config VMI
 
 config LGUEST_GUEST
 	bool "Lguest guest support"
+	select PARAVIRT
 	depends on !X86_PAE
 	help
 	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
===================================================================
--- a/arch/i386/xen/Kconfig
+++ b/arch/i386/xen/Kconfig
@@ -4,6 +4,7 @@
 
 config XEN
 	bool "Xen guest support"
+	select PARAVIRT
 	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
 	help
 	  This is the Linux Xen port.  Enabling this will allow the

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu
  2007-09-25  3:58 [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Rusty Russell
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
@ 2007-09-25  3:59 ` Rusty Russell
  2007-09-25  4:05 ` [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Adrian Bunk
  2007-09-25  4:05 ` Adrian Bunk
  3 siblings, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  3:59 UTC (permalink / raw)
  To: lkml - Kernel Mailing List; +Cc: Andi Kleen, virtualization

Move lguest under the virtualization menu.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 drivers/Kconfig     |    2 --
 drivers/kvm/Kconfig |    6 +++++-
 2 files changed, 5 insertions(+), 3 deletions(-)

===================================================================
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -87,6 +87,4 @@ source "drivers/kvm/Kconfig"
 source "drivers/kvm/Kconfig"
 
 source "drivers/uio/Kconfig"
-
-source "drivers/lguest/Kconfig"
 endmenu
===================================================================
--- a/drivers/kvm/Kconfig
+++ b/drivers/kvm/Kconfig
@@ -45,4 +36,8 @@ config KVM_AMD
 	  Provides support for KVM on AMD processors equipped with the AMD-V
 	  (SVM) extensions.
 
-endif # VIRTUALIZATION
+# OK, it's a little counter-intuitive to do this, but it puts it neatly under
+# the virtualization menu.
+source drivers/lguest/Kconfig
+
+endif # VIRTUALIZATION

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu
  2007-09-25  3:58 [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Rusty Russell
@ 2007-09-25  3:59 ` Rusty Russell
  2007-09-25  4:18   ` [PATCH 3/3] Virtualization config cleanup: The real patch 1/3 Rusty Russell
  2007-09-25  4:18   ` Rusty Russell
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
                   ` (2 subsequent siblings)
  3 siblings, 2 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  3:59 UTC (permalink / raw)
  To: lkml - Kernel Mailing List; +Cc: virtualization, Andi Kleen

Move lguest under the virtualization menu.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 drivers/Kconfig     |    2 --
 drivers/kvm/Kconfig |    6 +++++-
 2 files changed, 5 insertions(+), 3 deletions(-)

===================================================================
--- a/drivers/Kconfig
+++ b/drivers/Kconfig
@@ -87,6 +87,4 @@ source "drivers/kvm/Kconfig"
 source "drivers/kvm/Kconfig"
 
 source "drivers/uio/Kconfig"
-
-source "drivers/lguest/Kconfig"
 endmenu
===================================================================
--- a/drivers/kvm/Kconfig
+++ b/drivers/kvm/Kconfig
@@ -45,4 +36,8 @@ config KVM_AMD
 	  Provides support for KVM on AMD processors equipped with the AMD-V
 	  (SVM) extensions.
 
-endif # VIRTUALIZATION
+# OK, it's a little counter-intuitive to do this, but it puts it neatly under
+# the virtualization menu.
+source drivers/lguest/Kconfig
+
+endif # VIRTUALIZATION




^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  3:58 [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Rusty Russell
                   ` (2 preceding siblings ...)
  2007-09-25  4:05 ` [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Adrian Bunk
@ 2007-09-25  4:05 ` Adrian Bunk
  3 siblings, 0 replies; 14+ messages in thread
From: Adrian Bunk @ 2007-09-25  4:05 UTC (permalink / raw)
  To: Rusty Russell; +Cc: Andi Kleen, lkml - Kernel Mailing List, virtualization

On Tue, Sep 25, 2007 at 01:58:08PM +1000, Rusty Russell wrote:
> (Unless there are complaints, I'll push this as part of the lguest
> patches for 2.6.24, since there are lguest config changes there too).
> 
> Andi points out that PARAVIRT is an option best selected when needed.
> 
> We introduce PARAVIRT_GUEST for the menu itself, and select PARAVIRT
> if the user turns on anything which needs it.
> 
> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
> ---
>  arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
>  arch/i386/xen/Kconfig |    1 +
>  2 files changed, 21 insertions(+), 13 deletions(-)
> 
> ===================================================================
> --- a/arch/i386/Kconfig
> +++ b/arch/i386/Kconfig
> @@ -214,24 +214,30 @@ config X86_ES7000
>  
>  endchoice
>  
> -menuconfig PARAVIRT
> +config PARAVIRT
> +	bool
> +	depends on !(X86_VISWS || X86_VOYAGER)
> +	help
> +	  This changes the kernel so it can modify itself when it is run
> +	  under a hypervisor, potentially improving performance significantly
> +	  over full virtualization.  However, when run without a hypervisor
> +	  the kernel is theoretically slower and slightly larger.
> +
> +menuconfig PARAVIRT_GUEST
> -	bool "Paravirtualized guest support (EXPERIMENTAL)"
> -	depends on EXPERIMENTAL
> +	bool "Paravirtualized guest support"
> -	depends on !(X86_VISWS || X86_VOYAGER)
> -	help
> -	  Paravirtualization is a way of running multiple instances of
> -	  Linux on the same machine, under a hypervisor.  This option
> -	  changes the kernel so it can modify itself when it is run
> -	  under a hypervisor, improving performance significantly.
> -	  However, when run without a hypervisor the kernel is
> -	  theoretically slower.  If in doubt, say N.
> -
> -if PARAVIRT
> +	help
> +	  Say Y here to get to see options related to running Linux under
> +	  various hypervisors.  This option alone does not add any kernel code.
> +
> +	  If you say N, all options in this submenu will be skipped and disabled.
> +
> +if PARAVIRT_GUEST
>  
>  source "arch/i386/xen/Kconfig"
>  
>  config VMI
>  	bool "VMI Guest support"
> +	select PARAVIRT


depends on !(X86_VISWS || X86_VOYAGER)

>  	help
>  	  VMI provides a paravirtualized interface to the VMware ESX server
>  	  (it could be used by other hypervisors in theory too, but is not
> @@ -239,6 +246,7 @@ config VMI
>  
>  config LGUEST_GUEST
>  	bool "Lguest guest support"
> +	select PARAVIRT
>  	depends on !X86_PAE


depends on !(X86_VISWS || X86_VOYAGER)

>  	help
>  	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
> ===================================================================
> --- a/arch/i386/xen/Kconfig
> +++ b/arch/i386/xen/Kconfig
> @@ -4,6 +4,7 @@
>  
>  config XEN
>  	bool "Xen guest support"
> +	select PARAVIRT
>  	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES

depends on !(X86_VISWS || X86_VOYAGER)

>  	help
>  	  This is the Linux Xen port.  Enabling this will allow the

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  3:58 [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Rusty Russell
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
@ 2007-09-25  4:05 ` Adrian Bunk
  2007-09-25  4:20   ` Rusty Russell
  2007-09-25  4:20   ` Rusty Russell
  2007-09-25  4:05 ` Adrian Bunk
  3 siblings, 2 replies; 14+ messages in thread
From: Adrian Bunk @ 2007-09-25  4:05 UTC (permalink / raw)
  To: Rusty Russell; +Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen

On Tue, Sep 25, 2007 at 01:58:08PM +1000, Rusty Russell wrote:
> (Unless there are complaints, I'll push this as part of the lguest
> patches for 2.6.24, since there are lguest config changes there too).
> 
> Andi points out that PARAVIRT is an option best selected when needed.
> 
> We introduce PARAVIRT_GUEST for the menu itself, and select PARAVIRT
> if the user turns on anything which needs it.
> 
> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
> ---
>  arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
>  arch/i386/xen/Kconfig |    1 +
>  2 files changed, 21 insertions(+), 13 deletions(-)
> 
> ===================================================================
> --- a/arch/i386/Kconfig
> +++ b/arch/i386/Kconfig
> @@ -214,24 +214,30 @@ config X86_ES7000
>  
>  endchoice
>  
> -menuconfig PARAVIRT
> +config PARAVIRT
> +	bool
> +	depends on !(X86_VISWS || X86_VOYAGER)
> +	help
> +	  This changes the kernel so it can modify itself when it is run
> +	  under a hypervisor, potentially improving performance significantly
> +	  over full virtualization.  However, when run without a hypervisor
> +	  the kernel is theoretically slower and slightly larger.
> +
> +menuconfig PARAVIRT_GUEST
> -	bool "Paravirtualized guest support (EXPERIMENTAL)"
> -	depends on EXPERIMENTAL
> +	bool "Paravirtualized guest support"
> -	depends on !(X86_VISWS || X86_VOYAGER)
> -	help
> -	  Paravirtualization is a way of running multiple instances of
> -	  Linux on the same machine, under a hypervisor.  This option
> -	  changes the kernel so it can modify itself when it is run
> -	  under a hypervisor, improving performance significantly.
> -	  However, when run without a hypervisor the kernel is
> -	  theoretically slower.  If in doubt, say N.
> -
> -if PARAVIRT
> +	help
> +	  Say Y here to get to see options related to running Linux under
> +	  various hypervisors.  This option alone does not add any kernel code.
> +
> +	  If you say N, all options in this submenu will be skipped and disabled.
> +
> +if PARAVIRT_GUEST
>  
>  source "arch/i386/xen/Kconfig"
>  
>  config VMI
>  	bool "VMI Guest support"
> +	select PARAVIRT


depends on !(X86_VISWS || X86_VOYAGER)

>  	help
>  	  VMI provides a paravirtualized interface to the VMware ESX server
>  	  (it could be used by other hypervisors in theory too, but is not
> @@ -239,6 +246,7 @@ config VMI
>  
>  config LGUEST_GUEST
>  	bool "Lguest guest support"
> +	select PARAVIRT
>  	depends on !X86_PAE


depends on !(X86_VISWS || X86_VOYAGER)

>  	help
>  	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
> ===================================================================
> --- a/arch/i386/xen/Kconfig
> +++ b/arch/i386/xen/Kconfig
> @@ -4,6 +4,7 @@
>  
>  config XEN
>  	bool "Xen guest support"
> +	select PARAVIRT
>  	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES

depends on !(X86_VISWS || X86_VOYAGER)

>  	help
>  	  This is the Linux Xen port.  Enabling this will allow the

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 3/3] Virtualization config cleanup: The real patch 1/3
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
@ 2007-09-25  4:18   ` Rusty Russell
  2007-09-25  4:18   ` Rusty Russell
  1 sibling, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  4:18 UTC (permalink / raw)
  To: lkml - Kernel Mailing List; +Cc: Andi Kleen, Adrian Bunk, virtualization

OK, I screwed up and sent the old 1/3.  This was supposed to be 1/3, and
there is no 3.  I'm stupid.

Be nice to get acks from Jeremy and Zach as it's their original
penmanship.

Cheers,
Rusty.
---
Normalize config options for guest support

1) Group all the "guest OS" support options together, under a PARAVIRT_GUEST
   menu.
2) Make those options select CONFIG_PARAVIRT, as suggested by Andi.
3) Make kconfig help titles consistent.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
 arch/i386/xen/Kconfig |    1 +
 2 files changed, 21 insertions(+), 13 deletions(-)

diff -r 1c1fc74a471c arch/i386/Kconfig
--- a/arch/i386/Kconfig	Tue Sep 25 14:05:39 2007 +1000
+++ b/arch/i386/Kconfig	Tue Sep 25 14:06:19 2007 +1000
@@ -215,27 +215,44 @@ endchoice
 endchoice
 
 config PARAVIRT
-	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	bool
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
-	  Paravirtualization is a way of running multiple instances of
-	  Linux on the same machine, under a hypervisor.  This option
-	  changes the kernel so it can modify itself when it is run
-	  under a hypervisor, improving performance significantly.
-	  However, when run without a hypervisor the kernel is
-	  theoretically slower.  If in doubt, say N.
+	  This changes the kernel so it can modify itself when it is run
+	  under a hypervisor, potentially improving performance significantly
+	  over full virtualization.  However, when run without a hypervisor
+	  the kernel is theoretically slower and slightly larger.
+
+menuconfig PARAVIRT_GUEST
+	bool "Paravirtualized guest support"
+	help
+	  Say Y here to get to see options related to running Linux under
+	  various hypervisors.  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if PARAVIRT_GUEST
 
 source "arch/i386/xen/Kconfig"
 
 config VMI
-	bool "VMI Paravirt-ops support"
-	depends on PARAVIRT
+	bool "VMI Guest support"
+	select 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.
+
+config LGUEST_GUEST
+	bool "Lguest guest support"
+	select PARAVIRT
+	depends on !X86_PAE
+	help
+	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
+	  allow your kernel to boot under lguest.  This option will increase
+	  your kernel size by about 6k.  If in doubt, say N.
+endif
 
 config ACPI_SRAT
 	bool
diff -r 1c1fc74a471c arch/i386/xen/Kconfig
--- a/arch/i386/xen/Kconfig	Tue Sep 25 14:05:39 2007 +1000
+++ b/arch/i386/xen/Kconfig	Tue Sep 25 14:06:19 2007 +1000
@@ -3,8 +3,9 @@
 #
 
 config XEN
-	bool "Enable support for Xen hypervisor"
-	depends on PARAVIRT && X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
+	bool "Xen guest support"
+	select PARAVIRT
+	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
 	help
 	  This is the Linux Xen port.  Enabling this will allow the
 	  kernel to boot in a paravirtualized environment under the
diff -r 1c1fc74a471c drivers/lguest/Kconfig
--- a/drivers/lguest/Kconfig	Tue Sep 25 14:05:39 2007 +1000
+++ b/drivers/lguest/Kconfig	Tue Sep 25 14:05:39 2007 +1000
@@ -1,23 +1,18 @@ config LGUEST
 config LGUEST
 	tristate "Linux hypervisor example code"
-	depends on X86 && PARAVIRT && EXPERIMENTAL && !X86_PAE && FUTEX
-	select LGUEST_GUEST
+	depends on X86 && EXPERIMENTAL && !X86_PAE && FUTEX
 	select HVC_DRIVER
 	---help---
-	  This is a very simple module which allows you to run
-	  multiple instances of the same Linux kernel, using the
+	  This is a very simple module called lg.ko which allows you to run
+	  multiple instances of the Linux kernel, using the
 	  "lguest" command found in the Documentation/lguest directory.
 	  Note that "lguest" is pronounced to rhyme with "fell quest",
 	  not "rustyvisor".  See Documentation/lguest/lguest.txt.
 
+	  Usually you would also turn on "Lguest guest support", to create a
+	  kernel which can also boot under lguest.
+
 	  If unsure, say N.  If curious, say M.  If masochistic, say Y.
-
-config LGUEST_GUEST
-	bool
-	help
-	  The guest needs code built-in, even if the host has lguest
-	  support as a module.  The drivers are tiny, so we build them
-	  in too.
 
 config LGUEST_NET
 	tristate

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [PATCH 3/3] Virtualization config cleanup: The real patch 1/3
  2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
  2007-09-25  4:18   ` [PATCH 3/3] Virtualization config cleanup: The real patch 1/3 Rusty Russell
@ 2007-09-25  4:18   ` Rusty Russell
  1 sibling, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  4:18 UTC (permalink / raw)
  To: lkml - Kernel Mailing List
  Cc: virtualization, Andi Kleen, Jeremy Fitzhardinge, Adrian Bunk

OK, I screwed up and sent the old 1/3.  This was supposed to be 1/3, and
there is no 3.  I'm stupid.

Be nice to get acks from Jeremy and Zach as it's their original
penmanship.

Cheers,
Rusty.
---
Normalize config options for guest support

1) Group all the "guest OS" support options together, under a PARAVIRT_GUEST
   menu.
2) Make those options select CONFIG_PARAVIRT, as suggested by Andi.
3) Make kconfig help titles consistent.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
 arch/i386/xen/Kconfig |    1 +
 2 files changed, 21 insertions(+), 13 deletions(-)

diff -r 1c1fc74a471c arch/i386/Kconfig
--- a/arch/i386/Kconfig	Tue Sep 25 14:05:39 2007 +1000
+++ b/arch/i386/Kconfig	Tue Sep 25 14:06:19 2007 +1000
@@ -215,27 +215,44 @@ endchoice
 endchoice
 
 config PARAVIRT
-	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	bool
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
-	  Paravirtualization is a way of running multiple instances of
-	  Linux on the same machine, under a hypervisor.  This option
-	  changes the kernel so it can modify itself when it is run
-	  under a hypervisor, improving performance significantly.
-	  However, when run without a hypervisor the kernel is
-	  theoretically slower.  If in doubt, say N.
+	  This changes the kernel so it can modify itself when it is run
+	  under a hypervisor, potentially improving performance significantly
+	  over full virtualization.  However, when run without a hypervisor
+	  the kernel is theoretically slower and slightly larger.
+
+menuconfig PARAVIRT_GUEST
+	bool "Paravirtualized guest support"
+	help
+	  Say Y here to get to see options related to running Linux under
+	  various hypervisors.  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if PARAVIRT_GUEST
 
 source "arch/i386/xen/Kconfig"
 
 config VMI
-	bool "VMI Paravirt-ops support"
-	depends on PARAVIRT
+	bool "VMI Guest support"
+	select 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.
+
+config LGUEST_GUEST
+	bool "Lguest guest support"
+	select PARAVIRT
+	depends on !X86_PAE
+	help
+	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
+	  allow your kernel to boot under lguest.  This option will increase
+	  your kernel size by about 6k.  If in doubt, say N.
+endif
 
 config ACPI_SRAT
 	bool
diff -r 1c1fc74a471c arch/i386/xen/Kconfig
--- a/arch/i386/xen/Kconfig	Tue Sep 25 14:05:39 2007 +1000
+++ b/arch/i386/xen/Kconfig	Tue Sep 25 14:06:19 2007 +1000
@@ -3,8 +3,9 @@
 #
 
 config XEN
-	bool "Enable support for Xen hypervisor"
-	depends on PARAVIRT && X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
+	bool "Xen guest support"
+	select PARAVIRT
+	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
 	help
 	  This is the Linux Xen port.  Enabling this will allow the
 	  kernel to boot in a paravirtualized environment under the
diff -r 1c1fc74a471c drivers/lguest/Kconfig
--- a/drivers/lguest/Kconfig	Tue Sep 25 14:05:39 2007 +1000
+++ b/drivers/lguest/Kconfig	Tue Sep 25 14:05:39 2007 +1000
@@ -1,23 +1,18 @@ config LGUEST
 config LGUEST
 	tristate "Linux hypervisor example code"
-	depends on X86 && PARAVIRT && EXPERIMENTAL && !X86_PAE && FUTEX
-	select LGUEST_GUEST
+	depends on X86 && EXPERIMENTAL && !X86_PAE && FUTEX
 	select HVC_DRIVER
 	---help---
-	  This is a very simple module which allows you to run
-	  multiple instances of the same Linux kernel, using the
+	  This is a very simple module called lg.ko which allows you to run
+	  multiple instances of the Linux kernel, using the
 	  "lguest" command found in the Documentation/lguest directory.
 	  Note that "lguest" is pronounced to rhyme with "fell quest",
 	  not "rustyvisor".  See Documentation/lguest/lguest.txt.
 
+	  Usually you would also turn on "Lguest guest support", to create a
+	  kernel which can also boot under lguest.
+
 	  If unsure, say N.  If curious, say M.  If masochistic, say Y.
-
-config LGUEST_GUEST
-	bool
-	help
-	  The guest needs code built-in, even if the host has lguest
-	  support as a module.  The drivers are tiny, so we build them
-	  in too.
 
 config LGUEST_NET
 	tristate





^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  4:05 ` [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Adrian Bunk
  2007-09-25  4:20   ` Rusty Russell
@ 2007-09-25  4:20   ` Rusty Russell
  1 sibling, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  4:20 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Roman Zippel, Andi Kleen, lkml - Kernel Mailing List,
	virtualization

On Tue, 2007-09-25 at 06:05 +0200, Adrian Bunk wrote:
> depends on !(X86_VISWS || X86_VOYAGER)

Hmm, if A selects B and B depends on C, does A not depend on C?

If not, I'll patch this...

Thanks,
Rusty.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  4:05 ` [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Adrian Bunk
@ 2007-09-25  4:20   ` Rusty Russell
  2007-09-25  4:26     ` Adrian Bunk
  2007-09-25  4:26     ` Adrian Bunk
  2007-09-25  4:20   ` Rusty Russell
  1 sibling, 2 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  4:20 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
	Roman Zippel

On Tue, 2007-09-25 at 06:05 +0200, Adrian Bunk wrote:
> depends on !(X86_VISWS || X86_VOYAGER)

Hmm, if A selects B and B depends on C, does A not depend on C?

If not, I'll patch this...

Thanks,
Rusty.



^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  4:20   ` Rusty Russell
  2007-09-25  4:26     ` Adrian Bunk
@ 2007-09-25  4:26     ` Adrian Bunk
  1 sibling, 0 replies; 14+ messages in thread
From: Adrian Bunk @ 2007-09-25  4:26 UTC (permalink / raw)
  To: Rusty Russell
  Cc: Roman Zippel, Andi Kleen, lkml - Kernel Mailing List,
	virtualization

On Tue, Sep 25, 2007 at 02:20:03PM +1000, Rusty Russell wrote:
> On Tue, 2007-09-25 at 06:05 +0200, Adrian Bunk wrote:
> > depends on !(X86_VISWS || X86_VOYAGER)
> 
> Hmm, if A selects B and B depends on C, does A not depend on C?

No.

> If not, I'll patch this...
> 
> Thanks,
> Rusty.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  4:20   ` Rusty Russell
@ 2007-09-25  4:26     ` Adrian Bunk
  2007-09-25  4:45       ` Rusty Russell
  2007-09-25  4:45       ` Rusty Russell
  2007-09-25  4:26     ` Adrian Bunk
  1 sibling, 2 replies; 14+ messages in thread
From: Adrian Bunk @ 2007-09-25  4:26 UTC (permalink / raw)
  To: Rusty Russell
  Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
	Roman Zippel

On Tue, Sep 25, 2007 at 02:20:03PM +1000, Rusty Russell wrote:
> On Tue, 2007-09-25 at 06:05 +0200, Adrian Bunk wrote:
> > depends on !(X86_VISWS || X86_VOYAGER)
> 
> Hmm, if A selects B and B depends on C, does A not depend on C?

No.

> If not, I'll patch this...
> 
> Thanks,
> Rusty.

cu
Adrian

-- 

       "Is there not promise of rain?" Ling Tan asked suddenly out
        of the darkness. There had been need of rain for many days.
       "Only a promise," Lao Er said.
                                       Pearl S. Buck - Dragon Seed


^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  4:26     ` Adrian Bunk
@ 2007-09-25  4:45       ` Rusty Russell
  2007-09-25  4:45       ` Rusty Russell
  1 sibling, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  4:45 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: Roman Zippel, Andi Kleen, lkml - Kernel Mailing List,
	virtualization

On Tue, 2007-09-25 at 06:26 +0200, Adrian Bunk wrote:
> On Tue, Sep 25, 2007 at 02:20:03PM +1000, Rusty Russell wrote:
> > On Tue, 2007-09-25 at 06:05 +0200, Adrian Bunk wrote:
> > > depends on !(X86_VISWS || X86_VOYAGER)
> > 
> > Hmm, if A selects B and B depends on C, does A not depend on C?
> 
> No.

OK, here 'tis:
===
Normalize config options for guest support

1) Group all the "guest OS" support options together, under a PARAVIRT_GUEST
   menu.
2) Make those options select CONFIG_PARAVIRT, as suggested by Andi.
3) Make kconfig help titles consistent.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
 arch/i386/xen/Kconfig |    1 +
 2 files changed, 21 insertions(+), 13 deletions(-)

diff -r de6df17c6477 arch/i386/Kconfig
--- a/arch/i386/Kconfig	Tue Sep 25 14:41:39 2007 +1000
+++ b/arch/i386/Kconfig	Tue Sep 25 14:41:39 2007 +1000
@@ -215,27 +215,45 @@ endchoice
 endchoice
 
 config PARAVIRT
-	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	bool
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
-	  Paravirtualization is a way of running multiple instances of
-	  Linux on the same machine, under a hypervisor.  This option
-	  changes the kernel so it can modify itself when it is run
-	  under a hypervisor, improving performance significantly.
-	  However, when run without a hypervisor the kernel is
-	  theoretically slower.  If in doubt, say N.
+	  This changes the kernel so it can modify itself when it is run
+	  under a hypervisor, potentially improving performance significantly
+	  over full virtualization.  However, when run without a hypervisor
+	  the kernel is theoretically slower and slightly larger.
+
+menuconfig PARAVIRT_GUEST
+	bool "Paravirtualized guest support"
+	help
+	  Say Y here to get to see options related to running Linux under
+	  various hypervisors.  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if PARAVIRT_GUEST
 
 source "arch/i386/xen/Kconfig"
 
 config VMI
-	bool "VMI Paravirt-ops support"
-	depends on PARAVIRT
+	bool "VMI Guest support"
+	select PARAVIRT
+	depends on !(X86_VISWS || X86_VOYAGER)
 	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.
+
+config LGUEST_GUEST
+	bool "Lguest guest support"
+	select PARAVIRT
+	depends on !X86_PAE
+	help
+	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
+	  allow your kernel to boot under lguest.  This option will increase
+	  your kernel size by about 6k.  If in doubt, say N.
+endif
 
 config ACPI_SRAT
 	bool
diff -r de6df17c6477 arch/i386/xen/Kconfig
--- a/arch/i386/xen/Kconfig	Tue Sep 25 14:41:39 2007 +1000
+++ b/arch/i386/xen/Kconfig	Tue Sep 25 14:42:41 2007 +1000
@@ -3,8 +3,9 @@
 #
 
 config XEN
-	bool "Enable support for Xen hypervisor"
-	depends on PARAVIRT && X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
+	bool "Xen guest support"
+	select PARAVIRT
+	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES && !(X86_VISWS || X86_VOYAGER)
 	help
 	  This is the Linux Xen port.  Enabling this will allow the
 	  kernel to boot in a paravirtualized environment under the
diff -r de6df17c6477 drivers/lguest/Kconfig
--- a/drivers/lguest/Kconfig	Tue Sep 25 14:41:39 2007 +1000
+++ b/drivers/lguest/Kconfig	Tue Sep 25 14:41:39 2007 +1000
@@ -1,7 +1,6 @@ config LGUEST
 config LGUEST
 	tristate "Linux hypervisor example code"
-	depends on X86 && PARAVIRT && EXPERIMENTAL && !X86_PAE && FUTEX
-	select LGUEST_GUEST
+	depends on X86 && EXPERIMENTAL && !X86_PAE && FUTEX && !(X86_VISWS || X86_VOYAGER)
 	select HVC_DRIVER
 	---help---
 	  This is a very simple module which allows you to run

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
  2007-09-25  4:26     ` Adrian Bunk
  2007-09-25  4:45       ` Rusty Russell
@ 2007-09-25  4:45       ` Rusty Russell
  1 sibling, 0 replies; 14+ messages in thread
From: Rusty Russell @ 2007-09-25  4:45 UTC (permalink / raw)
  To: Adrian Bunk
  Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
	Roman Zippel

On Tue, 2007-09-25 at 06:26 +0200, Adrian Bunk wrote:
> On Tue, Sep 25, 2007 at 02:20:03PM +1000, Rusty Russell wrote:
> > On Tue, 2007-09-25 at 06:05 +0200, Adrian Bunk wrote:
> > > depends on !(X86_VISWS || X86_VOYAGER)
> > 
> > Hmm, if A selects B and B depends on C, does A not depend on C?
> 
> No.

OK, here 'tis:
===
Normalize config options for guest support

1) Group all the "guest OS" support options together, under a PARAVIRT_GUEST
   menu.
2) Make those options select CONFIG_PARAVIRT, as suggested by Andi.
3) Make kconfig help titles consistent.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
---
 arch/i386/Kconfig     |   33 ++++++++++++++++++++-------------
 arch/i386/xen/Kconfig |    1 +
 2 files changed, 21 insertions(+), 13 deletions(-)

diff -r de6df17c6477 arch/i386/Kconfig
--- a/arch/i386/Kconfig	Tue Sep 25 14:41:39 2007 +1000
+++ b/arch/i386/Kconfig	Tue Sep 25 14:41:39 2007 +1000
@@ -215,27 +215,45 @@ endchoice
 endchoice
 
 config PARAVIRT
-	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	bool
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
-	  Paravirtualization is a way of running multiple instances of
-	  Linux on the same machine, under a hypervisor.  This option
-	  changes the kernel so it can modify itself when it is run
-	  under a hypervisor, improving performance significantly.
-	  However, when run without a hypervisor the kernel is
-	  theoretically slower.  If in doubt, say N.
+	  This changes the kernel so it can modify itself when it is run
+	  under a hypervisor, potentially improving performance significantly
+	  over full virtualization.  However, when run without a hypervisor
+	  the kernel is theoretically slower and slightly larger.
+
+menuconfig PARAVIRT_GUEST
+	bool "Paravirtualized guest support"
+	help
+	  Say Y here to get to see options related to running Linux under
+	  various hypervisors.  This option alone does not add any kernel code.
+
+	  If you say N, all options in this submenu will be skipped and disabled.
+
+if PARAVIRT_GUEST
 
 source "arch/i386/xen/Kconfig"
 
 config VMI
-	bool "VMI Paravirt-ops support"
-	depends on PARAVIRT
+	bool "VMI Guest support"
+	select PARAVIRT
+	depends on !(X86_VISWS || X86_VOYAGER)
 	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.
+
+config LGUEST_GUEST
+	bool "Lguest guest support"
+	select PARAVIRT
+	depends on !X86_PAE
+	help
+	  Lguest is a tiny in-kernel hypervisor.  Selecting this will
+	  allow your kernel to boot under lguest.  This option will increase
+	  your kernel size by about 6k.  If in doubt, say N.
+endif
 
 config ACPI_SRAT
 	bool
diff -r de6df17c6477 arch/i386/xen/Kconfig
--- a/arch/i386/xen/Kconfig	Tue Sep 25 14:41:39 2007 +1000
+++ b/arch/i386/xen/Kconfig	Tue Sep 25 14:42:41 2007 +1000
@@ -3,8 +3,9 @@
 #
 
 config XEN
-	bool "Enable support for Xen hypervisor"
-	depends on PARAVIRT && X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES
+	bool "Xen guest support"
+	select PARAVIRT
+	depends on X86_CMPXCHG && X86_TSC && !NEED_MULTIPLE_NODES && !(X86_VISWS || X86_VOYAGER)
 	help
 	  This is the Linux Xen port.  Enabling this will allow the
 	  kernel to boot in a paravirtualized environment under the
diff -r de6df17c6477 drivers/lguest/Kconfig
--- a/drivers/lguest/Kconfig	Tue Sep 25 14:41:39 2007 +1000
+++ b/drivers/lguest/Kconfig	Tue Sep 25 14:41:39 2007 +1000
@@ -1,7 +1,6 @@ config LGUEST
 config LGUEST
 	tristate "Linux hypervisor example code"
-	depends on X86 && PARAVIRT && EXPERIMENTAL && !X86_PAE && FUTEX
-	select LGUEST_GUEST
+	depends on X86 && EXPERIMENTAL && !X86_PAE && FUTEX && !(X86_VISWS || X86_VOYAGER)
 	select HVC_DRIVER
 	---help---
 	  This is a very simple module which allows you to run



^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2007-09-25  4:46 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-09-25  3:58 [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Rusty Russell
2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
2007-09-25  4:18   ` [PATCH 3/3] Virtualization config cleanup: The real patch 1/3 Rusty Russell
2007-09-25  4:18   ` Rusty Russell
2007-09-25  3:59 ` [PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu Rusty Russell
2007-09-25  4:05 ` [PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required Adrian Bunk
2007-09-25  4:20   ` Rusty Russell
2007-09-25  4:26     ` Adrian Bunk
2007-09-25  4:45       ` Rusty Russell
2007-09-25  4:45       ` Rusty Russell
2007-09-25  4:26     ` Adrian Bunk
2007-09-25  4:20   ` Rusty Russell
2007-09-25  4:05 ` Adrian Bunk
  -- strict thread matches above, loose matches on Subject: below --
2007-09-25  3:58 Rusty Russell

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.