Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1763567AbYHEUPI (ORCPT ); Tue, 5 Aug 2008 16:15:08 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1763520AbYHEUO3 (ORCPT ); Tue, 5 Aug 2008 16:14:29 -0400 Received: from saraswathi.solana.com ([198.99.130.12]:48068 "EHLO saraswathi.solana.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1763506AbYHEUO1 (ORCPT ); Tue, 5 Aug 2008 16:14:27 -0400 Date: Tue, 5 Aug 2008 16:14:03 -0400 From: Jeff Dike To: stable@kernel.org Cc: LKML , uml-devel Subject: [PATCH 2/14] uml: fix bad NTP interaction with clock Message-ID: <20080805201403.GA11734@c2.user-mode-linux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1554 Lines: 49 >From cfd28f6695d0fc047478480791a21bdd4967f98e 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 Cc: WANG Cong Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds --- arch/um/kernel/time.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c index e066e84..5036c81 100644 --- a/arch/um/kernel/time.c +++ b/arch/um/kernel/time.c @@ -74,7 +74,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 = { @@ -82,7 +82,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, }; -- 1.5.5.1 -- 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/