git: clock/tsc: Run TSC MP synchronization test on APs too.

Sepherosa Ziehau sephe at crater.dragonflybsd.org
Mon Jun 1 02:29:55 PDT 2015


commit 00ec69c72918b119397bee1830133ef9185120be
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(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/00ec69c72918b119397bee1830133ef9185120be


-- 
DragonFly BSD source repository



More information about the Commits mailing list