summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorkmacy <kmacy@FreeBSD.org>2008-10-25 20:42:10 +0000
committerkmacy <kmacy@FreeBSD.org>2008-10-25 20:42:10 +0000
commitc0ca6963a836d8478a44dce314a17b689ed0af2c (patch)
treee3dffab6bdabe28ff69afb5a8e0612f2755fc883
parent4405dea5ac482964b7b2ab3f85c27e0ebc91216f (diff)
downloadFreeBSD-src-c0ca6963a836d8478a44dce314a17b689ed0af2c.zip
FreeBSD-src-c0ca6963a836d8478a44dce314a17b689ed0af2c.tar.gz
only call hardclock on cpu0
pointed out by: Scott Long
-rw-r--r--sys/i386/xen/clock.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/sys/i386/xen/clock.c b/sys/i386/xen/clock.c
index ee574f2..3b4b6f3 100644
--- a/sys/i386/xen/clock.c
+++ b/sys/i386/xen/clock.c
@@ -315,7 +315,10 @@ clkintr(void *arg)
processed_system_time += (delta / NS_PER_TICK) * NS_PER_TICK;
per_cpu(processed_system_time, cpu) += (delta_cpu / NS_PER_TICK) * NS_PER_TICK;
}
- hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ if (PCPU_GET(cpuid) == 0)
+ hardclock(TRAPF_USERMODE(frame), TRAPF_PC(frame));
+ else
+ hardclock_cpu(TRAPF_USERMODE(frame));
/*
* Take synchronised time from Xen once a minute if we're not
OpenPOWER on IntegriCloud