Re: [PATCH 1/3] Virtualization config cleanup: SelectCONFIG_PARAVIRT when required

From: Adrian Bunk
Date: Tue Sep 25 2007 - 00:05:29 EST


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@xxxxxxxxxxxxxxx>
> ---
> 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

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/