Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/sys
Module Name: src
Committed By: ad
Date: Fri May 8 22:01:55 UTC 2020
Modified Files:
src/sys/arch/x86/include: cpu_counter.h
src/sys/arch/x86/x86: cpu.c tsc.c
src/sys/dev/ic: hpet.c hpetvar.h
Log Message:
Fix the TSC timecounter (on the systems I have access to):
- Make the early i8254-based calculation of frequency a bit more accurate.
- Keep track of how far the HPET & TSC advance between HPET attach and
secondary CPU boot, and use to compute an accurate value before attaching
the timecounter. Initial idea from joerg@.
- When determining skew and drift between CPUs, make each measurement 1000
times and pick the lowest observed value. Increase the error threshold to
1000 clock cycles.
- Use the frequency computed on the boot CPU for secondary CPUs too.
- Remove cpu_counter_serializing().
To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 src/sys/arch/x86/include/cpu_counter.h
cvs rdiff -u -r1.189 -r1.190 src/sys/arch/x86/x86/cpu.c
cvs rdiff -u -r1.43 -r1.44 src/sys/arch/x86/x86/tsc.c
cvs rdiff -u -r1.15 -r1.16 src/sys/dev/ic/hpet.c
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/ic/hpetvar.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index