Skip to contentSkip to conversation

make CONFIG_PARAVIRT require NO_HZ

PATCH In review Chris Wright 5 participants 7 messages Mar 16, 2007 – Mar 17, 2007 virtio core

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 make CONFIG_PARAVIRT require NO_HZ

Given all the discussion, let's just require NO_HZ when CONFIG_PARAVIRT. Anyone object?

---

arch/i386/Kconfig +1 -1
@@ -208,7 +208,7 @@ endchoice
 
 config PARAVIRT
 	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on EXPERIMENTAL && NO_HZ
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
 	  Paravirtualization is a way of running multiple instances of
Acked-by Acked-by Acked-by on v1 1/1
#1 lore raw
Quoted 10 lines · Chris Wright

Given all the discussion, let's just require NO_HZ when CONFIG_PARAVIRT. Anyone object?

---

arch/i386/Kconfig endchoice · line 214

Quoted 8 lines
arch/i386/Kconfig +1 -1
@@ -208,7 +208,7 @@ endchoice
 
 config PARAVIRT
 	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on EXPERIMENTAL && NO_HZ
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
 	  Paravirtualization is a way of running multiple instances of

Thanks Chris!

Sorry, I got excited.

Zach

#2 lore raw
In reply to Chris Wright
Quoted 2 lines · Chris Wright

Given all the discussion, let's just require NO_HZ when CONFIG_PARAVIRT. Anyone object?

well ... why do we want this? I'd not mind making it default y if CONFIG_PARAVIRT is enabled, but why force it?

Ingo

#3 lore raw
Quoted 6 lines · Ingo Molnar
Quoted 2 lines · Chris Wright

Given all the discussion, let's just require NO_HZ when CONFIG_PARAVIRT. Anyone object?

well ... why do we want this? I'd not mind making it default y if CONFIG_PARAVIRT is enabled, but why force it?

I guess because they don't want to debug and maintain two different timer code paths. It would be fine for me. !NOHZ will hopefully go away at some point anyways and it clearly is important for virtualized environments.

Although I would prefer a select instead of a depends I think. Otherwise the relationship will be quite unobvious.

-Andi

#4 lore raw
Quoted 2 lines · Andi Kleen

Although I would prefer a select instead of a depends I think. Otherwise the relationship will be quite unobvious.

yep.

Ingo

#5 lore raw
In reply to Andi Kleen
Quoted 11 lines · * Andi Kleen ([email protected]) wrote:
Quoted 6 lines · Ingo Molnar
Quoted 2 lines · Chris Wright

Given all the discussion, let's just require NO_HZ when CONFIG_PARAVIRT. Anyone object?

well ... why do we want this? I'd not mind making it default y if CONFIG_PARAVIRT is enabled, but why force it?

I guess because they don't want to debug and maintain two different timer code paths. It would be fine for me. !NOHZ will hopefully go away at some point anyways and it clearly is important for virtualized environments.

Yes, esp. considering the NO_IDLE_HZ problem.

Quoted 2 lines

Although I would prefer a select instead of a depends I think. Otherwise the relationship will be quite unobvious.

I thought about that, NO_HZ is still a user-visible feature rather than smth like library support. That's typically been the dividing line for depends vs. select.

thanks,
-chris

Acked-by Zachary Amsden on v1 1/1
#6 lore raw
In reply to Chris Wright
Quoted 9 lines · On Thu, 15 Mar 2007 22:47:46 -0700 Chris Wright <[email protected]> wrote:

Given all the discussion, let's just require NO_HZ when CONFIG_PARAVIRT. Anyone object?

---

arch/i386/Kconfig endchoice · line 214

Quoted 8 lines
arch/i386/Kconfig +1 -1
@@ -208,7 +208,7 @@ endchoice
 
 config PARAVIRT
 	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on EXPERIMENTAL && NO_HZ
 	depends on !(X86_VISWS || X86_VOYAGER)
 	help
 	  Paravirtualization is a way of running multiple instances of

Apart from all the other fun, it seems that we need to merge kconfig-abort-configuration-with-recursive-dependencies.patch, because

scripts/kconfig/conf -m arch/i386/Kconfig
Error: Found recursive dependency: PARAVIRT NO_HZ PARAVIRT make[1]: *** [allmodconfig] Error 1
make: *** [allmodconfig] Error 2

This is due to your patch interacting with
make-config_paravirt-require-no_hz.patch:

From: Chris Wright <[email protected]>

Require NO_HZ when CONFIG_PARAVIRT.

Cc Jeremy Fitzhardinge <[email protected]>
Cc Rusty Russell <[email protected]>
Cc Ingo Molnar <[email protected]>
Cc Thomas Gleixner <[email protected]>
Cc Andi Kleen <[email protected]>

---

 arch/i386/Kconfig |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
arch/i386/Kconfig renamed from arch/i386/Kconfig~make-config_paravirt-require-no_hz +1 -1
diff -puN arch/i386/Kconfig~make-config_paravirt-require-no_hz arch/i386/Kconfig
@@ -208,7 +208,7 @@ endchoice
 
 config PARAVIRT
 	bool "Paravirtualization support (EXPERIMENTAL)"
-	depends on EXPERIMENTAL
+	depends on EXPERIMENTAL && NO_HZ
 	depends on !(X86_VISWS || X86_VOYAGER)
 	select NO_HZ
 	help

_

I'll drop both of them while you guys sort it all out.