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