NetBSD-Bugs archive

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

kern/53016: Clock not stable

>Number:         53016
>Category:       kern
>Synopsis:       Clock not stable
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    kern-bug-people
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Feb 12 18:25:00 +0000 2018
>Originator:     Tero Kivinen
>Release:        NetBSD 8.0_BETA
IKI ry

System: NetBSD 8.0_BETA NetBSD 8.0_BETA (GENERIC) #0: Wed Nov 8 23:20:26 EET 2017 amd64
Architecture: x86_64
Machine: amd64

Supermicro X8SIU (0123456789)
cpu0 at mainbus0 apid 0
cpu0: Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz, id 0x106e5
cpu0: package 0, core 0, smt 0
cpu1 at mainbus0 apid 2
cpu1: Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz, id 0x106e5
cpu1: package 0, core 1, smt 0
cpu2 at mainbus0 apid 4
cpu2: Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz, id 0x106e5
cpu2: package 0, core 2, smt 0
cpu3 at mainbus0 apid 6
cpu3: Intel(R) Xeon(R) CPU           X3430  @ 2.40GHz, id 0x106e5
cpu3: package 0, core 3, smt 0


Even when running ntpd the clock is not stable. It might get more than
one second out of sync in few minues. The speed seems to be constant
and depends on the kern.timecounter.hardware value:

    Timecounter		Clock speed	   Comments
    TSC	    		-0.47ms / minute   Stabile change
    clockinterrupt	-370ms / minute	   Jumps 50 ms or so every now and then
    ichlpcib0		+3.05ms / minute   Stabile change
    hpet0		+3.12ms / minute   Stabile change
    ACPI-FAST		+3.05ms / minute   Stabile change
    lapic		+-1s / minute	   Seems to be random, goes up and down randomly
    i8254		+2.28ms / minute   Stabile change		

These values are run without ntp, by changing the timecounter hardware
and then setting time with ntpdate -b, and then waiting for two
minutes, and using ntpdate -q to measure tim difference as fast as
possible (i.e. every 6-7 seconds). Then we plotted the time changes in
excel to see how stable the change was.

When using old version of NetBSD 6.1 there was no issues.

We have script that will show logs from other machines, it is annoying
that in few minutes even when running ntpd the machines are off by few
seconds in time, and script will complain that times from other
machines are in the future...

This might also related to the other issue that the machine crashes
every now and then (between few days or a month) with kernel panic

	fpusave_lwp: did not

Looking at sys/arch/x86/x86/fpu.c it seems it does loop checking
hardware_ticks and loops until they change, so if time is not stable
perhaps it causes the loop to continue or something. I will make
separate bug report of this.


Install netbsd 8 on similar machine. 


No fix known.

 NetBSD 8.0_BETA GENERIC from 2017-11-08.

Home | Main Index | Thread Index | Old Index