forked from luck/tmp_suning_uos_patched
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> Cc: WANG Cong <xiyou.wangcong@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
309e96cdf2
commit
cfd28f6695
|
@ -75,7 +75,7 @@ static irqreturn_t um_timer(int irq, void *dev)
|
|||
|
||||
static cycle_t itimer_read(void)
|
||||
{
|
||||
return os_nsecs();
|
||||
return os_nsecs() / 1000;
|
||||
}
|
||||
|
||||
static struct clocksource itimer_clocksource = {
|
||||
|
@ -83,7 +83,7 @@ static struct clocksource itimer_clocksource = {
|
|||
.rating = 300,
|
||||
.read = itimer_read,
|
||||
.mask = CLOCKSOURCE_MASK(64),
|
||||
.mult = 1,
|
||||
.mult = 1000,
|
||||
.shift = 0,
|
||||
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
|
||||
};
|
||||
|
|
Loading…
Reference in New Issue
Block a user