From f718afc8ede94b5a1aed9ccb2e6d802fe644900f Mon Sep 17 00:00:00 2001 From: Martin Schwidefsky Date: Fri, 14 Aug 2009 15:47:20 +0200 Subject: [PATCH] --- yaml --- r: 163058 b: refs/heads/master c: 1be396794897f80bfc8774719ba60309a9e3d374 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/kernel/tsc.c | 6 ++++++ trunk/kernel/time/timekeeping.c | 1 - 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 5c689d9b9aaf..95f9d5d3c16e 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: a0f7d48bfb95a4c5172a2756dbc4b82afc8e9ae4 +refs/heads/master: 1be396794897f80bfc8774719ba60309a9e3d374 diff --git a/trunk/arch/x86/kernel/tsc.c b/trunk/arch/x86/kernel/tsc.c index 71f4368b357e..968425422c46 100644 --- a/trunk/arch/x86/kernel/tsc.c +++ b/trunk/arch/x86/kernel/tsc.c @@ -744,10 +744,16 @@ static cycle_t __vsyscall_fn vread_tsc(void) } #endif +static void resume_tsc(void) +{ + clocksource_tsc.cycle_last = 0; +} + static struct clocksource clocksource_tsc = { .name = "tsc", .rating = 300, .read = read_tsc, + .resume = resume_tsc, .mask = CLOCKSOURCE_MASK(64), .shift = 22, .flags = CLOCK_SOURCE_IS_CONTINUOUS | diff --git a/trunk/kernel/time/timekeeping.c b/trunk/kernel/time/timekeeping.c index 016a2591d719..b5673016089f 100644 --- a/trunk/kernel/time/timekeeping.c +++ b/trunk/kernel/time/timekeeping.c @@ -295,7 +295,6 @@ static void change_clocksource(void) if (old->disable) old->disable(old); - clock->cycle_last = 0; clock->cycle_last = clock->read(clock); clock->error = 0; clock->xtime_nsec = 0;