Messages in this thread Patch in this message | | | Date | Tue, 27 Mar 2012 17:18:17 +0200 | Subject | Re: [RFC][PATCH 00/32] Nohz cpusets v2 (adaptive tickless kernel) | From | Gilad Ben-Yossef <> |
| |
On Tue, Mar 27, 2012 at 5:10 PM, Peter Zijlstra <peterz@infradead.org> wrote: > On Tue, 2012-03-27 at 17:02 +0200, Gilad Ben-Yossef wrote: >> >> In my case, I also had to disable the clocksource watchdog, but only >> because TSC is not stable on my VM. >> This is really not a nohz/cpuset problem. > > No but that thing is annoying, I ran afoul of it too the other day. > > Thomas, would you object to a means of turning that thing off? And if > not, do you have a preference as to what particular means > (sysctl/sysfs/etc..) ?
For what it's worth, there's already an CONFIG_CLOCKSOURCE_WATCHDOG option, which is hard coded true right now. Making it select-able was the path of least resistance for me:
commit 7a7af328cc0c8f8b837f8b23b4099e5bfd4c5462 Author: Gilad Ben-Yossef <gilad@benyossef.com> Date: Mon Mar 12 17:12:41 2012 +0200
x86: make clocksource watchdog configurable (not for mainline)
The clock source watchdog will wake up idle cores.
Since I'm using KVM to test, where the TSC is always marked unstable, I've added this option to allow to disable it to assist testing.
This is not intended for mainlining, just a reference for how I tested the patch set.
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index 0d3116c..21ffc76 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -100,9 +100,6 @@ config ARCH_DEFCONFIG config GENERIC_CMOS_UPDATE def_bool y
-config CLOCKSOURCE_WATCHDOG - def_bool y - config GENERIC_CLOCKEVENTS def_bool y
@@ -1690,6 +1687,12 @@ config HOTPLUG_CPU automatically on SMP systems. ) Say N if you want to disable CPU hotplug.
+config CLOCKSOURCE_WATCHDOG + bool "Clocksource watchdog" + default y + help + Enable clock source watchdog. + config COMPAT_VDSO def_bool y prompt "Compat VDSO support" diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index a45ca16..30223da 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -450,6 +450,8 @@ static void clocksource_enqueue_watchdog(struct clocksource *cs) static inline void clocksource_dequeue_watchdog(struct clocksource *cs) { } static inline void clocksource_resume_watchdog(void) { } static inline int clocksource_watchdog_kthread(void *data) { return 0; } +void clocksource_mark_unstable(struct clocksource *cs) { } +
#endif /* CONFIG_CLOCKSOURCE_WATCHDOG */
-- Gilad Ben-Yossef Chief Coffee Drinker gilad@benyossef.com Israel Cell: +972-52-8260388 US Cell: +1-973-8260388 http://benyossef.com
"If you take a class in large-scale robotics, can you end up in a situation where the homework eats your dog?" -- Jean-Baptiste Queru -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |