| From e05b2efb82596905ebfe88e8612ee81dec9b6592 Mon Sep 17 00:00:00 2001 |
| From: john stultz <johnstul@us.ibm.com> |
| Date: Wed, 4 May 2011 18:16:50 -0700 |
| Subject: clocksource: Install completely before selecting |
| |
| From: john stultz <johnstul@us.ibm.com> |
| |
| commit e05b2efb82596905ebfe88e8612ee81dec9b6592 upstream. |
| |
| Christian Hoffmann reported that the command line clocksource override |
| with acpi_pm timer fails: |
| |
| Kernel command line: <SNIP> clocksource=acpi_pm |
| hpet clockevent registered |
| Switching to clocksource hpet |
| Override clocksource acpi_pm is not HRT compatible. |
| Cannot switch while in HRT/NOHZ mode. |
| |
| The watchdog code is what enables CLOCK_SOURCE_VALID_FOR_HRES, but we |
| actually end up selecting the clocksource before we enqueue it into |
| the watchdog list, so that's why we see the warning and fail to switch |
| to acpi_pm timer as requested. That's particularly bad when we want to |
| debug timekeeping related problems in early boot. |
| |
| Put the selection call last. |
| |
| Reported-by: Christian Hoffmann <email@christianhoffmann.info> |
| Signed-off-by: John Stultz <johnstul@us.ibm.com> |
| Link: http://lkml.kernel.org/r/%3C1304558210.2943.24.camel%40work-vm%3E |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| |
| --- |
| kernel/time/clocksource.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/kernel/time/clocksource.c |
| +++ b/kernel/time/clocksource.c |
| @@ -561,8 +561,8 @@ int clocksource_register(struct clocksou |
| |
| mutex_lock(&clocksource_mutex); |
| clocksource_enqueue(cs); |
| - clocksource_select(); |
| clocksource_enqueue_watchdog(cs); |
| + clocksource_select(); |
| mutex_unlock(&clocksource_mutex); |
| return 0; |
| } |