git: clock/tsc: Run TSC MP synchronization test on APs too.
sephe at crater.dragonflybsd.org
Mon Jun 1 02:29:55 PDT 2015
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Sat May 30 16:47:56 2015 +0800
clock/tsc: Run TSC MP synchronization test on APs too.
TSC MP synchronization needs BIOS and hardware coordination. It is
known that buggy BIOS could make TSC not MP synchronized if the system
has multiple CPU packages. Testing TSC MP synchronization only on BSP
is not enough to discover certain types of TSC MP unsynchronization,
e.g. APs TSC is ahead of BSP's TSC by great amount. Thus APs also need
to run TSC MP synchronization test to make sure that TSC is really MP
synchronized. And we are now running at least 50000 TSC MP
synchronization tests on each CPU.
And use lfence to prevent rdtsc from reordering during TSC MP
synchronization test, since we only test TSC MP synchronization on
Intel CPUs currently (mfence will be needed for AMD CPUs).
Summary of changes:
sys/platform/pc64/isa/clock.c | 155 +++++++++++++++++++++++++++++++-----------
1 file changed, 115 insertions(+), 40 deletions(-)
DragonFly BSD source repository
More information about the Commits