git: pc64 - If appropriate, determine TSC frequency via CPUID.

Imre Vadasz ivadasz at crater.dragonflybsd.org
Sat Aug 4 08:42:33 PDT 2018


commit 8b257adbda32b59bb93cb76a5daa122a9252f6c0
Author: Imre Vadász <imre at vdsz.com>
Date:   Sat Aug 4 17:09:26 2018 +0200

    pc64 - If appropriate, determine TSC frequency via CPUID.
    
    On Intel systems with Skylake and newer CPUs, and on modern Atom CPUs this
    avoids the ca. 200ms TSC calibration process at the beginning of booting.
    
    On most modern Intel CPUs the TSC frequency can be determined via CPUID
    information. For the most modern generations this is quite well documented.
    If the CPUID information doesn't directly specify the "crystal clock",
    we use the frequency values given in Intel's "Software Developer's Manual"
    for the different cpu variants.
    
    Since the "crystal clock" seems to exactly match the HPET frequency that we
    use in the calibration, this method should be at least as good as our
    calibration procedure.
    
    Setting the tunable hw.tsc_ignore_cpuid=1 forces the kernel to calibrate
    the TSC if it would otherwise just use the CPUID information.

Summary of changes:
 sys/platform/pc64/x86_64/initcpu.c | 69 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 69 insertions(+)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/8b257adbda32b59bb93cb76a5daa122a9252f6c0


-- 
DragonFly BSD source repository



More information about the Commits mailing list