Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 8 Feb 1999 21:46:22 -0600 (CST)
From:      "William S. Duncanson" <caesar@starkreality.com>
To:        FreeBSD-gnats-submit@FreeBSD.ORG
Subject:   kern/9974: Problems with SMP timekeeping
Message-ID:  <199902090346.VAA01919@fire.starkreality.com>

next in thread | raw e-mail | index | archive | help

>Number:         9974
>Category:       kern
>Synopsis:       Large amounts of kernel clock drift with a SMP 4.0-current
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon Feb  8 19:50:00 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     William S. Duncanson
>Release:        FreeBSD 4.0-CURRENT i386
>Organization:
Starkreality Networking Services
>Environment:

Tyan S1564D Tomcat IV Dual, 2X Pentium MMX 200, SB 16 PNP, Linksys Ether16
xntpd, 4.0-current (Jan 28), SMP.

machine         "i386"
ident           FIRE
maxusers        256
options         "MAXDSIZ=(256*1024*1024)"
options         "DFLDSIZ=(256*1024*1024)"
options         PQ_HUGECACHE            # color for 1024k/16k cache
options         INCLUDE_CONFIG_FILE     # Include this file in kernel
config          kernel  root on wd0s1a swap on wd0s1b
cpu             "I586_CPU"              # aka Pentium(tm)
options         "CPU_DISABLE_5X86_LSSER"
options         "CPU_FASTER_5X86_FPU"
options               SMP                     # Symmetric MultiProcessor
Kernel
options               APIC_IO                 # Symmetric (APIC) I/O
options               NCPU=2                  # number of CPUs
options               NBUS=2                  # number of busses
options               NAPIC=1                 # number of IO APICs
options               NINTR=24                # number of INTs
options         "COMPAT_43"
options         SYSVSHM
options         SYSVSEM
options         SYSVMSG
options         "MD5"
options         KTRACE                  #kernel tracing
options         PERFMON
options         UCONSOLE
options         USERCONFIG              #boot -c editor
options         VISUAL_USERCONFIG       #visual boot -c editor
options         INET                    #Internet communications protocols
pseudo-device   ether                   #Generic Ethernet
pseudo-device   loop                    #Network loopback device
pseudo-device   bpfilter 4              #Berkeley packet filter
options PPP_BSDCOMP                     #PPP BSD-compress support
options PPP_DEFLATE                     #PPP zlib/deflate/gzip support
options PPP_FILTER                      #enable bpf filtering (needs
bpfilter)
options         "ICMP_BANDLIM"
options         FFS                     #Fast filesystem
options         FFS_ROOT                #FFS usable as root device
options         SOFTUPDATES
options         NSWAPDEV=20
options         QUOTA                   #enable disk quotas
options         "NFS_MINATTRTIMO=3"     # VREG attrib cache timeout in sec
options         "NFS_MAXATTRTIMO=60"
options         "NFS_MINDIRATTRTIMO=30" # VDIR attrib cache timeout in sec
options         "NFS_MAXDIRATTRTIMO=60"
options         "NFS_GATHERDELAY=10"    # Default write gather delay (msec)
options         "NFS_UIDHASHSIZ=29"     # Tune the size of nfssvc_sock with
this
options         "NFS_WDELAYHASHSIZ=16"  # and with this
options         "NFS_MUIDHASHSIZ=63"    # Tune the size of nfsmount with
this
options         NFS_DEBUG               # Enable NFS Debugging
options         "P1003_1B"
options         "_KPOSIX_PRIORITY_SCHEDULING"
options         "_KPOSIX_VERSION=199309L"
controller      scbus0  #base SCSI code
device          da0     #SCSI direct access devices (aka disks)
device          sa0     #SCSI tapes
device          cd0     #SCSI CD-ROMs
device          pass0   #CAM passthrough driver
options         "CAM_MAX_HIGHPOWER=4"
options         SCSI_NO_SENSE_STRINGS
options         SCSI_NO_OP_STRINGS
options         SCSI_REPORT_GEOMETRY
options         SCSI_DELAY=8000 # Be pessimistic about Joe SCSI device
options         "CHANGER_MIN_BUSY_SECONDS=2"
options         "CHANGER_MAX_BUSY_SECONDS=10"
options         "SA_SPACE_TIMEOUT=(60)"
options         "SA_REWIND_TIMEOUT=(2*60)"
options         "SA_ERASE_TIMEOUT=(4*60)"
pseudo-device   pty     256     #Pseudo ttys - can go as high as 256
pseudo-device   speaker         #Play IBM BASIC-style noises out your
speaker
pseudo-device   gzip            #Exec gzipped a.out's
pseudo-device   vn              #Vnode driver (turns a file into a device)
pseudo-device   snp     4       #Snoop device - to look at pty/vty/etc..
options         "MSGBUF_SIZE=40960"
controller      isa0
options         "AUTO_EOI_1"
options         "AUTO_EOI_2"
options         "MAXMEM=(144*1024)"
controller      pnp0
controller      atkbdc0 at isa? port IO_KBD tty
device          atkbd0  at isa? tty irq 1
device          vga0    at isa? port ? conflicts
pseudo-device   splash
#device         vt0     at isa? tty
#options                XSERVER                 # support for running an X
serve
r.
#options                FAT_CURSOR              # start with block cursor
device          sc0     at isa? tty
options         MAXCONS=16              # number of virtual consoles
options         "STD8X16FONT"           # Compile font in
makeoptions     "STD8X16FONT"="cp850"
options         SC_HISTORY_SIZE=200     # number of history buffer lines
options         SC_DISABLE_REBOOT       # disable reboot key sequence
device          npx0    at isa? port IO_NPX iosiz 0x0 flags 0x0 irq 13
controller      wdc0    at isa? port "IO_WD1" bio irq 14 flags 0xa0ffa0ff
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1
controller      wdc1    at isa? port "IO_WD2" bio irq 15 flags 0xa0ffa0ff
options         ATAPI   #Enable ATAPI support for IDE bus
options         ATAPI_STATIC    #Don't do it as an LKM
options         IDE_DELAY=8000  # Be optimistic about Joe IDE device
device          acd0
controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2
disk            fd0     at fdc0 drive 0
device          lpt0    at isa? port? tty irq 7
device          sio0    at isa? port "IO_COM1" tty flags 0x10 irq 4
device          sio1    at isa? port "IO_COM2" tty flags 0x10 irq 3
device ed0 at isa? port 0x300 net irq 10 iomem 0xd8000
device pcm0 at isa? port ? tty irq 10 drq 1 flags 0x0
device pca0 at isa? port "IO_TIMER1" tty
controller      pci0
controller      ahc1
device          de0
device          xl0
options         HW_WDOG
options         COMPAT_LINUX
options         PANIC_REBOOT_WAIT_TIME=16
options         CLK_CALIBRATION_LOOP
options         "CLK_USE_I8254_CALIBRATION"
options         CLK_USE_TSC_CALIBRATION
options         SHOW_BUSYBUFS   # List buffers that prevent root unmount

>Description:

The kernel clock drifts as much as 7 seconds in a 10 minute time frame.
xntpd is constantly setting the kernel clock back.  The hardware clock CMOS
does not appear to be affected.  The CLK_CALIBRATION_LOOP,
CLK_USE_I8254_CALIBRATION and CLK_USE_TSC_CALIBRATION were added to the
kernel independently of each other to see if that would solve the problem.


>How-To-Repeat:

Run in environment as described, with kernel config as described.

>Fix:
	
None at this time.
>Release-Note:
>Audit-Trail:
>Unformatted:

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-bugs" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199902090346.VAA01919>