summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2013-09-17 03:54:07 +0200
committerJohn Stultz <john.stultz@linaro.org>2013-09-17 03:54:07 +0200
commit389e067032fbb96e439abafae848dd447e4cafb4 (patch)
tree9b5fdebaf55ad4e9d195412dbfbf10a7a8042aea /kernel
parentMerge branch 'fortglx/3.12/sched-clock64-base' into fortglx/3.13/time (diff)
parentntp: Make periodic RTC update more reliable (diff)
downloadlinux-389e067032fbb96e439abafae848dd447e4cafb4.tar.xz
linux-389e067032fbb96e439abafae848dd447e4cafb4.zip
Merge branch 'fortglx/3.12/time' into fortglx/3.13/time
Merge in the timekeeping changes that missed 3.12 Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/clocksource.c1
-rw-r--r--kernel/time/ntp.c3
2 files changed, 3 insertions, 1 deletions
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c
index 637a14af6c21..64cf63ca09cc 100644
--- a/kernel/time/clocksource.c
+++ b/kernel/time/clocksource.c
@@ -479,6 +479,7 @@ static inline void clocksource_dequeue_watchdog(struct clocksource *cs) { }
static inline void clocksource_resume_watchdog(void) { }
static inline int __clocksource_watchdog_kthread(void) { return 0; }
static bool clocksource_is_watchdog(struct clocksource *cs) { return false; }
+void clocksource_mark_unstable(struct clocksource *cs) { }
#endif /* CONFIG_CLOCKSOURCE_WATCHDOG */
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 8f5b3b98577b..ab1fa7cb8912 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -475,6 +475,7 @@ static void sync_cmos_clock(struct work_struct *work)
* called as close as possible to 500 ms before the new second starts.
* This code is run on a timer. If the clock is set, that timer
* may not expire at the correct time. Thus, we adjust...
+ * We want the clock to be within a couple of ticks from the target.
*/
if (!ntp_synced()) {
/*
@@ -485,7 +486,7 @@ static void sync_cmos_clock(struct work_struct *work)
}
getnstimeofday(&now);
- if (abs(now.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec / 2) {
+ if (abs(now.tv_nsec - (NSEC_PER_SEC / 2)) <= tick_nsec * 5) {
struct timespec adjust = now;
fail = -ENODEV;