Rusty Russell
2007-Sep-24 20:58 UTC
[PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
(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
Rusty Russell
2007-Sep-24 21:00 UTC
[PATCH 2/3] Virtualization config cleanup: move lgeust under virtualization menu
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
Rusty Russell
2007-Sep-24 21:20 UTC
[PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
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.
Adrian Bunk
2007-Sep-25 08:18 UTC
[PATCH 1/3] Virtualization config cleanup: Select CONFIG_PARAVIRT when required
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 PARAVIRTdepends 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_PAEdepends 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_NODESdepends on !(X86_VISWS || X86_VOYAGER)> help > This is the Linux Xen port. Enabling this will allow thecu 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