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

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


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.

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



More information about the freebsd-arm mailing list