diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-10-25 20:42:10 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-10-25 20:42:10 +0000 |
commit | c0ca6963a836d8478a44dce314a17b689ed0af2c (patch) | |
tree | e3dffab6bdabe28ff69afb5a8e0612f2755fc883 | |
parent | 4405dea5ac482964b7b2ab3f85c27e0ebc91216f (diff) | |
download | FreeBSD-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.c | 5 |
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 |