lkml.org 
[lkml]   [2008]   [Apr]   [25]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH 14/19] UML - Fix bad NTP interaction with clock
UML's supposed nanosecond clock interacts badly with NTP when NTP
decides that the clock has drifted ahead and needs to be slowed down.
Slowing down the clock is done by decrementing the cycle-to-nanosecond
multiplier, which is 1. Decrementing that gives you 0 and time is
stopped.

This is fixed by switching to a microsecond clock, with a multiplier
of 1000.

Signed-off-by: Jeff Dike <jdike@linux.intel.com>
---
arch/um/kernel/time.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: linux-2.6-git/arch/um/kernel/time.c
===================================================================
--- linux-2.6-git.orig/arch/um/kernel/time.c 2008-02-15 11:43:41.000000000 -0500
+++ linux-2.6-git/arch/um/kernel/time.c 2008-04-24 16:01:35.000000000 -0400
@@ -74,7 +74,7 @@ static irqreturn_t um_timer(int irq, voi

static cycle_t itimer_read(void)
{
- return os_nsecs();
+ return os_nsecs() / 1000;
}

static struct clocksource itimer_clocksource = {
@@ -82,7 +82,7 @@ static struct clocksource itimer_clockso
.rating = 300,
.read = itimer_read,
.mask = CLOCKSOURCE_MASK(64),
- .mult = 1,
+ .mult = 1000,
.shift = 0,
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
};

\
 
 \ /
  Last update: 2008-04-25 20:05    [W:0.024 / U:0.948 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site