lkml.org 
[lkml]   [2012]   [Mar]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
SubjectRe: [RFC][PATCH 00/32] Nohz cpusets v2 (adaptive tickless kernel)
From
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/

\
 
 \ /
  Last update: 2012-03-27 17:21    [W:0.118 / U:0.356 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site