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