PINE64 - 12.0-CURRENT r324563 - ntpd can't keep time

Mark Millard markmi at dsl-only.net
Wed Nov 8 14:45:44 UTC 2017


[Adding kernel configuration for reference.]

On 2017-Nov-8, at 6:37 AM, Mark Millard <markmi at dsl-only.net> wrote:

> On 2017-Nov-8, at 5:04 AM, Henri Hennebert <hlh at restart.be> wrote:
> 
>> On 10/26/2017 16:57, Ian Lepore wrote:
>>> On Thu, 2017-10-26 at 01:06 -0700, Mark Millard wrote:
>>>> On 2017-Oct-26, at 12:40 AM, Henri Hennebert <hlh at restart.be> wrote:
>>>> 
>>>>> 
>>>>> After a upgrade from r320599 to r324563, ntpd can't keep time for long.
>>>>> After one hour, the clock run too fast.
>>>> I'm running:
>>>> 
>>>> # uname -apKU
>>>> FreeBSD pine64 12.0-CURRENT FreeBSD 12.0-CURRENT  r324743M  arm64 aarch64 1200051 1200051
>>>> 
>>>> Top shows:
>>>> 
>>>> /usr/sbin/ntpd -g -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift
>>>> 
>>>> It has been up for 3 days and date shows
>>>> what I'd expect (local time). Also:
>>>> 
>>>> # ntpq -p
>>>>     remote           refid      st t when poll reach   delay   offset  jitter
>>>> ==============================================================================
>>>> 0.freebsd.pool. .POOL.          16 p    -   64    0    0.000    0.000   0.000
>>>> +96.226.123.195  128.138.141.172  2 u  486  512  377   53.512   -0.639   0.795
>>>> +clock.xmission. 128.138.141.172  2 u   75  512  377   43.109   -0.005   1.301
>>>> *chl.la          127.67.113.92    2 u  272  512  177   29.258    0.091   1.667
>>>> +mirror1.sjc02.s 162.213.2.253    2 u   44  512  377   28.404   -0.632   2.297
>>>> -mdnworldwide.co 216.218.254.202  2 u   95 1024  377   68.184   -3.070   1.488
>> 
>> I upgrade to r324743 and ntpd can't keep time. Maybe of importance, I was upgrading the ports after this switch to r324743. Moreover the problem with pf occurs really frequently (see
>> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=222126)
> 
> The Pine64+ 2GB that I have access to still is
> operating fine for the date/time:
> 
> # uname -apKU
> FreeBSD pine64 12.0-CURRENT FreeBSD 12.0-CURRENT  r324743M  arm64 aarch64 1200051 1200051
> 
> # uptime
> 5:59AM  up 16 days, 12:49, 2 users, load averages: 0.04, 0.07, 0.07
> 
> (It has been largely idle over much of
> that time, but did svnlite update /usr/ports
> and poudriere bulk related to what I
> later list.)
> 
> # date
> Wed Nov  8 06:00:35 PST 2017
> 
> # more /var/db/ntpd.drift
> 39.921
> 
> # ntpq -p
>     remote           refid      st t when poll reach   delay   offset  jitter
> ==============================================================================
> 0.freebsd.pool. .POOL.          16 p    -   64    0    0.000    0.000   0.000
> -time-c-g.nist.g .NIST.           1 u  976 1024  377   91.445   -1.676   1.383
> -tock.no-such-ag 129.6.15.29      2 u 1051 1024  377   79.671    0.076   0.956
> +104.131.53.252  209.51.161.238   2 u  156 1024  377   79.349    1.070   0.666
> +4.53.160.75     142.66.101.13    2 u  427 1024  377   56.329    2.112   1.541
> *us-wa.ntp.dark- 200.98.196.212   2 u  301 1024  377   12.786    1.213   2.268
> 
> 
> The Pine64+ 2GB configuration is nearly
> default, no pf or such. details follow.
> 
> # more /boot/loader.conf 
> geom_label_load="YES"           # File system labels (see glabel(8))
> #
> kern.cam.boot_delay="10000"
> dumpdev="/dev/label/PINE642Gswap"
> 
> # more /etc/rc.conf
> hostname="pine64"
> #
> keymap="us"
> #
> background_dhclient="YES"
> synchronous_dhclient="YES"
> #
> ifconfig_awg0="DHCP"
> #
> sshd_enable="YES"
> #
> # Nice if you have a network, else annoying.
> ntpd_enable="YES"
> ntpd_sync_on_start="YES"
> #
> # Set dumpdev to "AUTO" to enable crash dumps, "NO" to disable
> dumpdev="/dev/label/PINE642Gswap"
> #
> rpcbind_enable="YES"
> nfs_server_enable="YES"
> mountd_flags="-r"
> #
> nfs_client_enable="YES"
> 
> (Note: The following were built with
> poudriere bulk, which, of course,
> built more than is installed.)
> 
> # pkg info
> atf-0.21                       C, C++ and shell libraries to write ATF-compliant test programs
> binutils-2.28,1                GNU binary tools
> bonnie-2.0.6_1                 Performance Test of Filesystem I/O
> bonnie++-1.97.3                Performance Test of Filesystem I/O
> ca_root_nss-3.32.1             Root certificate bundle from the Mozilla Project
> curl-7.56.1                    Command line tool and library for transferring data with URLs
> dialog4ports-0.1.6             Console Interface to configure ports
> dtrace-toolkit-1.0_1           Collection of useful scripts for DTrace
> dwarfdump-20161124             Tool to display DWARF debugging information in ELF files
> expat-2.2.1                    XML 1.0 parser written in C
> freebsd-release-manifests-20171003 FreeBSD release manifests
> gcc7-7.2.0_2                   GNU Compiler Collection 7
> gdb-8.0.1_1                    GNU GDB of newer version than comes with the system
> gettext-runtime-0.19.8.1_1     GNU gettext runtime libraries and programs
> git-lite-2.14.3                Distributed source code management tool (lite package)
> gmp-6.1.2                      Free library for arbitrary precision arithmetic
> indexinfo-0.3                  Utility to regenerate the GNU info page index
> iorate-3.05                    General purpose storage I/O benchmarking tool
> iozone-3.457                   Performance Test of Sequential File I/O
> kyua-0.13_4,3                  Testing framework for infrastructure software
> libedit-3.1.20170329_2,1       Command line editor library
> libidn2-2.0.4                  Implementation of IDNA2008 internationalized domain names
> libnghttp2-1.27.0              HTTP/2.0 C Library
> libunistring-0.9.7             Unicode string library
> lua52-5.2.4                    Small, compilable scripting language providing easy access to C code
> lutok-0.4_6                    Lightweight C++ API for Lua
> mpc-1.0.3                      Library of complex numbers with arbitrarily high precision
> mpfr-3.1.6                     Library for multiple-precision floating-point computations
> patch-2.7.5                    GNU patch utility
> pcre-8.40_1                    Perl Compatible Regular Expressions library
> perl5-5.24.3                   Practical Extraction and Report Language
> pkg-1.10.1                     Package manager
> portlint-2.17.13               Verifier for FreeBSD port directory
> portmaster-3.17.10             Manage your ports without external databases or languages
> poudriere-devel-3.1.99.20171028 Port build and test system
> randomio-1.4                   Multithreaded disk i/o microbenchmark
> readline-7.0.3_1               Library for editing command lines as they are typed
> rsync-3.1.2_7                  Network file distribution/synchronization utility
> sqlite3-3.20.1_2               SQL database engine in a C library
> stress-1.0.4                   Tool to impose load on and stress test Unix-like systems
> sudo-1.8.21p2                  Allow others to run commands as root
> unzip-6.0_7                    List, test, and extract compressed files from a ZIP archive
> wget-1.19.2                    Retrieve files from the Net via HTTP(S) and FTP
> zip-3.0_1                      Create/update ZIP files compatible with PKZIP
> 
> # svnlite info /usr/ports | grep "Re[plv]"
> Relative URL: ^/head
> Repository Root: svn://svn.freebsd.org/ports
> Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
> Revision: 453215
> Last Changed Rev: 453215
> 
> # ps -aux
> USER     PID  %CPU %MEM   VSZ   RSS TT  STAT STARTED        TIME COMMAND
> root      11 400.0  0.0     0    64  -  RNL  22Oct17 93930:24.03 [idle]
> root       0   0.0  0.0     0   272  -  DLs  22Oct17     0:04.31 [kernel]
> root       1   0.0  0.0  9872   128  -  ILs  22Oct17     0:00.15 /sbin/init --
> root       2   0.0  0.0     0    16  -  DL   22Oct17     0:00.00 [crypto]
> root       3   0.0  0.0     0    16  -  DL   22Oct17     0:00.00 [crypto returns]
> root       4   0.0  0.0     0    32  -  DL   22Oct17    19:46.41 [cam]
> root       5   0.0  0.0     0    16  -  DL   22Oct17     0:00.00 [sctp_iterator]
> root       6   0.0  0.0     0    16  -  DL   22Oct17    15:21.84 [rand_harvestq]
> root       7   0.0  0.0     0    16  -  DL   22Oct17     0:00.43 [soaiod1]
> root       8   0.0  0.0     0    16  -  DL   22Oct17     0:00.33 [soaiod2]
> root       9   0.0  0.0     0    16  -  DL   22Oct17     0:00.42 [soaiod3]
> root      10   0.0  0.0     0    16  -  DL   22Oct17     0:00.00 [audit]
> root      12   0.0  0.0     0   224  -  WL   22Oct17   313:25.83 [intr]
> root      13   0.0  0.0     0    48  -  DL   22Oct17    34:24.71 [geom]
> root      14   0.0  0.0     0   160  -  DL   22Oct17    86:16.22 [usb]
> root      15   0.0  0.0     0    16  -  DL   22Oct17     2:59.38 [soaiod4]
> root      16   0.0  0.0     0    16  -  DL   22Oct17     0:09.45 [mmcsd0: mmc/sd card]
> root      17   0.0  0.0     0    48  -  DL   22Oct17     0:31.22 [pagedaemon]
> root      18   0.0  0.0     0    16  -  DL   22Oct17     0:00.00 [vmdaemon]
> root      19   0.0  0.0     0    32  -  DL   22Oct17     9:59.58 [bufdaemon]
> root      20   0.0  0.0     0    16  -  DL   22Oct17     0:22.27 [bufspacedaemon]
> root      21   0.0  0.0     0    16  -  DL   22Oct17     1:43.47 [syncer]
> root      22   0.0  0.0     0    16  -  DL   22Oct17     7:47.06 [vnlru]
> root     276   0.0  0.0 11500   384  -  Is   22Oct17     0:00.01 dhclient: awg0 [priv] (dhclient)
> _dhcp    277   0.0  0.0 11664   720  -  ICs  22Oct17     0:00.02 dhclient: awg0 (dhclient)
> root     382   0.0  0.0 13744   112  -  Is   22Oct17     0:01.61 /sbin/devd
> root     453   0.0  0.1 12108  1268  -  Ss   22Oct17     3:04.02 /usr/sbin/syslogd -s
> root     462   0.0  0.0 11300   708  -  Ss   22Oct17     0:03.89 /usr/sbin/rpcbind
> root     588   0.0  0.0 12468   868  -  Is   22Oct17     0:00.16 /usr/sbin/mountd -r
> root     590   0.0  0.0 11816   696  -  Is   22Oct17     0:00.09 nfsd: master (nfsd)
> root     591   0.0  0.1 10912  1096  -  I    22Oct17     3:01.28 nfsd: server (nfsd)
> root     627   0.0  0.9 17860 17944  -  Ss   22Oct17     1:13.39 /usr/sbin/ntpd -g -c /etc/ntp.conf -p /var/run/ntpd.pid -f /var/db/ntpd.drift
> root     670   0.0  0.0 19076   984  -  Is   22Oct17     0:00.01 /usr/sbin/sshd
> root     673   0.0  0.1 15308  1744  -  Ss   22Oct17     0:35.19 sendmail: accepting connections (sendmail)
> smmsp    676   0.0  0.1 15156  1060  -  Is   22Oct17     0:00.65 sendmail: Queue runner at 00:30:00 for /var/spool/clientmqueue (sendmail)
> root     680   0.0  0.1 11616  1044  -  Ss   22Oct17     0:07.92 /usr/sbin/cron -s
> root   29637   0.0  0.2 20412  3368  -  Is   Wed23       0:00.08 sshd: markmi [priv] (sshd)
> markmi 29640   0.0  0.1 20776  1508  -  S    Wed23       0:23.83 sshd: markmi at pts/0 (sshd)
> root     728   0.0  0.1 13360  1644 u0  Is   22Oct17     0:00.06 login [pam] (login)
> root    8809   0.0  0.1 12260  1940 u0  I    25Oct17     0:00.26 -sh (sh)
> root   11533   0.0  0.1 13396  2564 u0  I+   26Oct17    49:23.32 top -CawPosize
> markmi 29641   0.0  0.1 12256  1644  0  Is   Wed23       0:00.02 -sh (sh)
> root   29647   0.0  0.1 13320  1644  0  I    Wed23       0:00.04 su
> root   29648   0.0  0.1 12364  2180  0  S    Wed23       0:00.08 su (sh)
> root   77304   0.0  0.1 12228  2836  0  R+   06:03       0:00.01 ps -aux
> 
> (Idle counts time per core.)
> 
> # systat -vmstat
> 
>    2 users    Load  0.06  0.07  0.07                  Nov  8 06:23
>   Mem usage:  76%Phy  1%Kmem
> Mem: KB    REAL            VIRTUAL                      VN PAGER   SWAP PAGER
>        Tot   Share      Tot    Share    Free           in   out     in   out
> Act   49684    8044   290752    16296  479568  count
> All   51444    9720   319156    44208          pages
> Proc:                                                            Interrupts
>  r   p   d   s   w   Csw  Trp  Sys  Int  Sof  Flt        ioflt    14 total
>             52        41    1   29   13    8             cow       4 gic0,p11:
>                                                          zfod        gic0,s0: u
> 0.0%Sys   0.0%Intr  0.0%User  0.0%Nice  100%Idle         ozfod       gic0,s60:
> |    |    |    |    |    |    |    |    |    |           %ozfod     2 gic0,s74:
>                                                          daefr     1 gic0,s82:
>                                      1273 dtbuf          prcfr       cpu0:ast
> Namei     Name-cache   Dir-cache     43272 desvn          totfr       cpu1:ast
>   Calls    hits   %    hits   %     43272 numvn          react       cpu2:ast
>       3       3 100                 34206 frevn          pdwak       cpu3:ast
>                                                          pdpgs     2 cpu0:preem
> Disks mmcsd   da0 pass0                                   intrn     1 cpu1:preem
> KB/t   0.00  0.00  0.00                            408808 wire      3 cpu2:preem
> tps       0     0     0                              5100 act       1 cpu3:preem
> MB/s   0.00  0.00  0.00                           1116460 inact       cpu0:rende
> %busy     0     0     0                             18472 laund       cpu1:rende
>                                                   479568 free        cpu2:rende
>                                                   143508 buf         cpu3:rende
>                                                                      cpu0:hardc
> 
> 
> It might be appropriate to back things off to
> near-default and see if the time keeping is
> then okay. (Compare to what I have, for
> example.) Sitting idle might be part of this
> experiment.
> 
> If it is okay, then gradually reintroduce things,
> monitoring for time problems between, until
> time starts to be a problem. Back off the
> recent additions and then keep gradually
> adding other things. See what all you can
> have without having time problems vs. what
> leads to problems.
> 
> Of course if the near-default still has time
> problems sitting idle it would suggest something
> more basic in your context is involved,
> possibly hardware or a bad ntp time source.

# more /usr/src/sys/arm64/conf/GENERIC-NODBG
#
# GENERIC -- Custom configuration for the arm64/aarch64
#

include "GENERIC"

ident   GENERIC-NODBG

makeoptions     DEBUG=-g                # Build kernel with gdb(1) debug symbols

options         ALT_BREAK_TO_DEBUGGER

options         KDB                     # Enable kernel debugger support

# For minimum debugger support (stable branch) use:
#options        KDB_TRACE               # Print a stack trace for a panic
options         DDB                     # Enable the kernel debugger

# Extra stuff:
#options        VERBOSE_SYSINIT         # Enable verbose sysinit messages
#options        BOOTVERBOSE=1
#options        BOOTHOWTO=RB_VERBOSE
#options        KTR
#options        KTR_MASK=KTR_TRAP
##options       KTR_CPUMASK=0xF
#options        KTR_VERBOSE

# Disable any extra checking for. . .
nooptions       DEADLKRES               # Enable the deadlock resolver
nooptions       INVARIANTS              # Enable calls of extra sanity checking
nooptions       INVARIANT_SUPPORT       # Extra sanity checks of internal structures, required by INVARIANTS
nooptions       WITNESS                 # Enable checks to detect deadlocks and cycles
nooptions       WITNESS_SKIPSPIN        # Don't run witness on spinlocks for speed
nooptions       DIAGNOSTIC
nooptions       MALLOC_DEBUG_MAXZONES   # Separate malloc(9) zones
nooptions       BUF_TRACKING
nooptions       FULL_BUF_TRACKING


===
Mark Millard
markmi at dsl-only.net



More information about the freebsd-arm mailing list