NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: sudden appearance of timekeeping problems with netbsd-8 just after 8.1





On 19/06/2019 14:10, Greg Troxel wrote:
Patrick Welche <prlw1%cam.ac.uk@localhost> writes:

On Tue, Jun 18, 2019 at 04:56:33PM -0000, Michael van Elst wrote:
gdt%lexort.com@localhost (Greg Troxel) writes:

  -timecounter: Timecounter "ACPI-Safe" frequency 3579545 Hz quality 900
  +timecounter: Timecounter "ACPI-Fast" frequency 3579545 Hz quality 1000

  -timecounter: Timecounter "TSC" frequency 2800071320 Hz quality 3000
  +timecounter: Timecounter "TSC" frequency 3920113160 Hz quality 3000
THIS is the problem. The kernel has mis-identified your TSC frequency massively somehow. You have a 2.8GHz process which means the invariant TSC should be running at 2.8GHZ. There is a capability bit for invariant TSC and if your processor doesn't have that capability bit set NetBSD sets the TSC quality to a very low number (might even be negative).

which if accurate gives us a small window for bisecting.

Bad news is I've seen this come and go since NetBSD 6 on i386 :(
I will try the older kernel, and then see if I can search.  I wonder if
somehow with different code the cpu/tsc is being configured so that tsc
doesn't do what it used to.

Is anyone else seeing this problem?

I've seen it come and go with the SAME kernel on laptop hardware which has a known to be invariant TSC. I think NetBSD might be assuming that the CPU is running at a particular speed to calculate the frequency so if your BIOS starts the CPU at a lower speed (e.g laptop on battery) you can get wild results.

I didn't use BSD on the machine where it happened very often so I went with the sysctl workround and never really chased it. Sorry. :(

Mike


Home | Main Index | Thread Index | Old Index