* [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
@ 2007-07-20 4:22 Rusty Russell
0 siblings, 0 replies; 8+ messages in thread
From: Rusty Russell @ 2007-07-20 4:22 UTC (permalink / raw)
To: lkml - Kernel Mailing List, Linus Torvalds; +Cc: Andi Kleen, virtualization
Any objections?
Rusty.
===
Having KVM appear in the middle of "drivers" is kinda strange, and
having it alone under a menu called "virtualization" doubly so.
1) Move the "Virtualization" menu into the arch-specific i386 and
x86-64 Kconfig.
2) Add a help message to the menu.
3) Move CONFIG_PARAVIRT under CONFIG_VIRTUALIZATION
4) Move lguest into same menu.
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
diff -r decd4a43335a arch/i386/Kconfig
--- a/arch/i386/Kconfig Fri Jul 20 13:49:20 2007 +1000
+++ b/arch/i386/Kconfig Fri Jul 20 14:05:56 2007 +1000
@@ -210,17 +210,55 @@ config X86_ES7000
endchoice
+config ACPI_SRAT
+ bool
+ default y
+ depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
+ select ACPI_NUMA
+
+config HAVE_ARCH_PARSE_SRAT
+ bool
+ default y
+ depends on ACPI_SRAT
+
+config X86_SUMMIT_NUMA
+ bool
+ default y
+ depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
+
+config X86_CYCLONE_TIMER
+ bool
+ default y
+ depends on X86_SUMMIT || X86_GENERICARCH
+
+config ES7000_CLUSTERED_APIC
+ bool
+ default y
+ depends on SMP && X86_ES7000 && MPENTIUMIII
+
+source "arch/i386/Kconfig.cpu"
+
+menuconfig VIRTUALIZATION
+ bool "Virtualization"
+ default y
+ help
+ Virtualization is a way of running multiple Operating Systems on
+ the same machine. There are several different virtualization
+ technologies in i386 Linux, including KVM, lguest, VMI and Xen.
+ If in doubt say Y and examine the sub-options.
+
+if VIRTUALIZATION
config PARAVIRT
- bool "Paravirtualization support (EXPERIMENTAL)"
- depends on EXPERIMENTAL
+ bool "Paravirtualization 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.
+ Paravirtualization enables Linux to detect when it is running
+ as a guest operating system under a hypervisor: it will
+ modify itself, improving performance significantly.
However, when run without a hypervisor the kernel is
theoretically slower. If in doubt, say N.
+
+source "drivers/kvm/Kconfig"
source "arch/i386/xen/Kconfig"
@@ -233,33 +271,9 @@ config VMI
at the moment), by linking the kernel to a GPL-ed ROM module
provided by the hypervisor.
-config ACPI_SRAT
- bool
- default y
- depends on ACPI && NUMA && (X86_SUMMIT || X86_GENERICARCH)
- select ACPI_NUMA
-
-config HAVE_ARCH_PARSE_SRAT
- bool
- default y
- depends on ACPI_SRAT
-
-config X86_SUMMIT_NUMA
- bool
- default y
- depends on NUMA && (X86_SUMMIT || X86_GENERICARCH)
-
-config X86_CYCLONE_TIMER
- bool
- default y
- depends on X86_SUMMIT || X86_GENERICARCH
-
-config ES7000_CLUSTERED_APIC
- bool
- default y
- depends on SMP && X86_ES7000 && MPENTIUMIII
-
-source "arch/i386/Kconfig.cpu"
+source "drivers/lguest/Kconfig"
+
+endif # VIRTUALIZATION
config HPET_TIMER
bool "HPET Timer Support"
diff -r decd4a43335a arch/x86_64/Kconfig
--- a/arch/x86_64/Kconfig Fri Jul 20 13:49:20 2007 +1000
+++ b/arch/x86_64/Kconfig Fri Jul 20 13:59:08 2007 +1000
@@ -760,6 +760,19 @@ config SYSVIPC_COMPAT
endmenu
+menuconfig VIRTUALIZATION
+ bool "Virtualization"
+ default y
+ help
+ Virtualization is a way of running multiple Operating Systems on
+ the same machine. There are several different virtualization
+ technologies in Linux, but currently KVM is the only
+ option for x86_64. If in doubt say Y and examine the sub-options.
+
+if VIRTUALIZATION
+source "drivers/kvm/Kconfig"
+endif #VIRTUALIZATION
+
source "net/Kconfig"
source drivers/Kconfig
diff -r decd4a43335a drivers/Kconfig
--- a/drivers/Kconfig Fri Jul 20 13:49:20 2007 +1000
+++ b/drivers/Kconfig Fri Jul 20 14:06:03 2007 +1000
@@ -82,9 +82,5 @@ source "drivers/dma/Kconfig"
source "drivers/auxdisplay/Kconfig"
-source "drivers/kvm/Kconfig"
-
source "drivers/uio/Kconfig"
-
-source "drivers/lguest/Kconfig"
endmenu
diff -r decd4a43335a drivers/kvm/Kconfig
--- a/drivers/kvm/Kconfig Fri Jul 20 13:49:20 2007 +1000
+++ b/drivers/kvm/Kconfig Fri Jul 20 13:55:07 2007 +1000
@@ -1,13 +1,6 @@
#
# KVM configuration
#
-menuconfig VIRTUALIZATION
- bool "Virtualization"
- depends on X86
- default y
-
-if VIRTUALIZATION
-
config KVM
tristate "Kernel-based Virtual Machine (KVM) support"
depends on X86 && EXPERIMENTAL
@@ -39,5 +32,3 @@ config KVM_AMD
---help---
Provides support for KVM on AMD processors equipped with the AMD-V
(SVM) extensions.
-
-endif # VIRTUALIZATION
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
[not found] <1184905342.10380.263.camel@localhost.localdomain>
@ 2007-07-20 4:31 ` Alexey Eremenko
2007-07-20 5:24 ` Avi Kivity
` (3 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Alexey Eremenko @ 2007-07-20 4:31 UTC (permalink / raw)
To: Rusty Russell
Cc: Andi Kleen, Linus Torvalds, lkml - Kernel Mailing List,
virtualization
On 7/20/07, Rusty Russell <rusty@rustcorp.com.au> wrote:
> Any objections?
>
> Rusty.
> ===
> Having KVM appear in the middle of "drivers" is kinda strange, and
> having it alone under a menu called "virtualization" doubly so.
>
Hi Rusty !
Very good move, that I have thought about too... I believe that since
we're creating a Virtualization Menu, we should add
OS-level-virtualization there as well (aka containerization) - the
following things: IPC virtualization (aka IPC namespaces), PID
virtualization, UTS virtualization. Those are 3 basic components that
went mainline into 2.6.19.
Article from OpenVZ:
http://www.linux.com/articles/59150?tid=136&tid=91
P.S. maybe rename those components from "IPC namespaces" to "IPC
virtualization" or even to "IPC containerization" it better reflect
it's internals?
--
-Alexey Eremenko "Technologov"
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
[not found] <1184905342.10380.263.camel@localhost.localdomain>
2007-07-20 4:31 ` [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option Alexey Eremenko
@ 2007-07-20 5:24 ` Avi Kivity
[not found] ` <46A046F1.7040207@qumranet.com>
` (2 subsequent siblings)
4 siblings, 0 replies; 8+ messages in thread
From: Avi Kivity @ 2007-07-20 5:24 UTC (permalink / raw)
To: Rusty Russell
Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
Linus Torvalds
Rusty Russell wrote:
> Any objections?
>
> Rusty.
> ===
> Having KVM appear in the middle of "drivers" is kinda strange, and
> having it alone under a menu called "virtualization" doubly so.
>
> 1) Move the "Virtualization" menu into the arch-specific i386 and
> x86-64 Kconfig.
>
Virtualization is hardly x86 specific. How about moving it to
top-level, and having individual items disable themselves on archs they
don't apply to?
Otherwise we end up with $NARCH copies of that Kconfig, each slightly
different. The top-level entry can be made to depend on the archs that
actually have some virt capability, so as not to show empty an menu.
--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
[not found] ` <46A046F1.7040207@qumranet.com>
@ 2007-07-20 6:02 ` Rusty Russell
[not found] ` <1184911347.10380.274.camel@localhost.localdomain>
1 sibling, 0 replies; 8+ messages in thread
From: Rusty Russell @ 2007-07-20 6:02 UTC (permalink / raw)
To: Avi Kivity
Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
Linus Torvalds
On Fri, 2007-07-20 at 08:24 +0300, Avi Kivity wrote:
> Rusty Russell wrote:
> > Any objections?
> >
> > Rusty.
> > ===
> > Having KVM appear in the middle of "drivers" is kinda strange, and
> > having it alone under a menu called "virtualization" doubly so.
> >
> > 1) Move the "Virtualization" menu into the arch-specific i386 and
> > x86-64 Kconfig.
> >
>
> Virtualization is hardly x86 specific. How about moving it to
> top-level, and having individual items disable themselves on archs they
> don't apply to?
>
> Otherwise we end up with $NARCH copies of that Kconfig, each slightly
> different. The top-level entry can be made to depend on the archs that
> actually have some virt capability, so as not to show empty an menu.
I dislike the duplication, too, but
1) it's a CPU capability, and that's where it belongs in the menu.
2) And as you can see from the difference between the x86_64 and i386
help text, there are real platform differences (and not mentioning
what's under the menu would be kinda cheating).
3) Virtualization doesn't even make sense as an option for some
platforms where it's always on.
Cheers,
Rusty.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
[not found] ` <1184911347.10380.274.camel@localhost.localdomain>
@ 2007-07-20 6:10 ` Zachary Amsden
2007-07-20 14:09 ` Jeff Dike
0 siblings, 1 reply; 8+ messages in thread
From: Zachary Amsden @ 2007-07-20 6:10 UTC (permalink / raw)
To: Rusty Russell
Cc: Jeff Dike, lkml - Kernel Mailing List, virtualization, Andi Kleen,
Linus Torvalds
Rusty Russell wrote:
>> Otherwise we end up with $NARCH copies of that Kconfig, each slightly
>> different. The top-level entry can be made to depend on the archs that
>> actually have some virt capability, so as not to show empty an menu.
>>
>
> I dislike the duplication, too, but
>
> 1) it's a CPU capability, and that's where it belongs in the menu.
> 2) And as you can see from the difference between the x86_64 and i386
> help text, there are real platform differences (and not mentioning
> what's under the menu would be kinda cheating).
> 3) Virtualization doesn't even make sense as an option for some
> platforms where it's always on.
>
I'm rather indifferent on the matter, but I think a virtualization menu
under UML would be very confusing.
Zach
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
2007-07-20 6:10 ` Zachary Amsden
@ 2007-07-20 14:09 ` Jeff Dike
0 siblings, 0 replies; 8+ messages in thread
From: Jeff Dike @ 2007-07-20 14:09 UTC (permalink / raw)
To: Zachary Amsden
Cc: Jeff Dike, lkml - Kernel Mailing List, virtualization, Andi Kleen,
Linus Torvalds
On Thu, Jul 19, 2007 at 11:10:54PM -0700, Zachary Amsden wrote:
> I'm rather indifferent on the matter, but I think a virtualization menu
> under UML would be very confusing.
Yeah, that would be interesting. Trying to get one menu, with
switches that the arch can turn on and off, seems to make sense if you
can get away without too many switches.
Jeff
--
Work email - jdike at linux dot intel dot com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
[not found] <1184905342.10380.263.camel@localhost.localdomain>
` (2 preceding siblings ...)
[not found] ` <46A046F1.7040207@qumranet.com>
@ 2007-07-21 15:49 ` Jan Engelhardt
[not found] ` <Pine.LNX.4.64.0707211748320.21737@fbirervta.pbzchgretzou.qr>
4 siblings, 0 replies; 8+ messages in thread
From: Jan Engelhardt @ 2007-07-21 15:49 UTC (permalink / raw)
To: Rusty Russell
Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
Linus Torvalds
On Jul 20 2007 14:22, Rusty Russell wrote:
>Subject: [PATCH] Move KVM, paravirt, lguest,
> VMI and Xen under arch-level Virtualization option
>
>Any objections?
Well btw, would it make sense to also rearrange the directory structure along
with it, i.e.
drivers/kvm => drivers/virt/kvm
drivers/lguest => drivers/virt/lguest
drivers/xen => drivers/virt/xen
Then the full kconfig (with menuconfig,if,endif) can go to
drivers/virt/Kconfig.
Jan
--
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option
[not found] ` <Pine.LNX.4.64.0707211748320.21737@fbirervta.pbzchgretzou.qr>
@ 2007-07-23 5:09 ` Rusty Russell
0 siblings, 0 replies; 8+ messages in thread
From: Rusty Russell @ 2007-07-23 5:09 UTC (permalink / raw)
To: Jan Engelhardt
Cc: lkml - Kernel Mailing List, virtualization, Andi Kleen,
Linus Torvalds
On Sat, 2007-07-21 at 17:49 +0200, Jan Engelhardt wrote:
> On Jul 20 2007 14:22, Rusty Russell wrote:
> >Subject: [PATCH] Move KVM, paravirt, lguest,
> > VMI and Xen under arch-level Virtualization option
> >
> >Any objections?
>
> Well btw, would it make sense to also rearrange the directory structure along
> with it, i.e.
>
> drivers/kvm => drivers/virt/kvm
> drivers/lguest => drivers/virt/lguest
> drivers/xen => drivers/virt/xen
>
> Then the full kconfig (with menuconfig,if,endif) can go to
> drivers/virt/Kconfig.
It would reduce clutter a little, but it'll never cover cases where the
arch is always virtualized. You could move VMI there, but UML, PowerPC,
S/390 won't be moving.
I still think people expect virtualization under CPU features, so archs
should include the virt Kconfig explicitly there (rather than it just
appearing deep in drivers/). At which point cut & pasting variations of
the CONFIG_VIRTUALIZATION option is probably as good as any other
solution, and far less work.
Cheers,
Rusty.
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-07-23 5:09 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <1184905342.10380.263.camel@localhost.localdomain>
2007-07-20 4:31 ` [PATCH] Move KVM, paravirt, lguest, VMI and Xen under arch-level Virtualization option Alexey Eremenko
2007-07-20 5:24 ` Avi Kivity
[not found] ` <46A046F1.7040207@qumranet.com>
2007-07-20 6:02 ` Rusty Russell
[not found] ` <1184911347.10380.274.camel@localhost.localdomain>
2007-07-20 6:10 ` Zachary Amsden
2007-07-20 14:09 ` Jeff Dike
2007-07-21 15:49 ` Jan Engelhardt
[not found] ` <Pine.LNX.4.64.0707211748320.21737@fbirervta.pbzchgretzou.qr>
2007-07-23 5:09 ` Rusty Russell
2007-07-20 4:22 Rusty Russell
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).