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