Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Jan 1999 12:00:22 -0600 (CST)
From:      David La Croix <dlacroix@acm.vt.edu>
To:        freebsd-gnats-submit@FreeBSD.ORG
Cc:        lacroix@streams.com
Subject:   kern/9392: Alternate system clock dies on ALI Aladin IV / K6-2 system
Message-ID:  <199901081800.NAA29646@cowpie.acm.vt.edu>

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

>Number:         9392
>Category:       kern
>Synopsis:       Alternate system clock OR kernel stats clock dies and requires cold restart to fix.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Fri Jan  8 10:10:01 PST 1999
>Closed-Date:
>Last-Modified:
>Originator:     David La Croix
>Release:        FreeBSD 2.2.8-STABLE i386
>Organization:
>Environment:

#######################
uname -a
#######################
FreeBSD narf2.streams.com 2.2.8-STABLE FreeBSD 2.2.8-STABLE #0: Thu Dec 17 16:19:46 CST 1998     dlacroix@narf2.streams.com:/usr/src/sys/compile/NARF  i386

##################
kernel config file
##################
#
# GENERIC -- Generic machine with WD/AHx/NCR/BTx family disks
#
# For more information read the handbook part System Administration -> 
# Configuring the FreeBSD Kernel -> The Configuration File. 
# The handbook is available in /usr/share/doc/handbook or online as
# latest version from the FreeBSD World Wide Web server 
# <URL:http://www.FreeBSD.ORG/>;
#
# An exhaustive list of options and more detailed explanations of the 
# device lines is present in the ./LINT configuration file. If you are 
# in doubt as to the purpose or necessity of a line, check first in LINT.
#
#       $Id: GENERIC,v 1.77.2.25 1998/07/20 20:11:04 msmith Exp $

machine         "i386"
cpu             "I386_CPU"
cpu             "I486_CPU"
cpu             "I586_CPU"
cpu             "I686_CPU"
ident           NARF
maxusers        40

#options                MATH_EMULATE            #Support for x87 emulation
options         INET                    #InterNETworking
options         FFS                     #Berkeley Fast Filesystem
options         NFS                     #Network Filesystem
options         MSDOSFS                 #MSDOS Filesystem
options         "CD9660"                #ISO 9660 Filesystem
options         PROCFS                  #Process filesystem
options         "COMPAT_43"             #Compatible with BSD 4.3 [KEEP THIS!]
options         SCSI_DELAY=5            #Be pessimistic about Joe SCSI device
options         BOUNCE_BUFFERS          #include support for DMA bounce buffers
options         UCONSOLE                #Allow users to grab the console
options         FAILSAFE                #Be conservative
options         USERCONFIG              #boot -c editor
options         USERCONFIG_BOOT
options         VISUAL_USERCONFIG       #visual boot -c editor

options         NETATALK

config          kernel  root on wd0

controller      isa0
controller      eisa0
controller      pci0

controller      fdc0    at isa? port "IO_FD1" bio irq 6 drq 2 vector fdintr
disk            fd0     at fdc0 drive 0
disk            fd1     at fdc0 drive 1
# Unless you know very well what you're doing, leave ft0 at drive 2, or
# remove the line entirely if you don't need it.  Trying to configure
# it on another unit might cause surprises, see PR kern/7176.
#tape           ft0     at fdc0 drive 2

#options                "CMD640"        # work around CMD640 chip deficiency
controller      wdc0    at isa? port "IO_WD1" bio irq 14 vector wdintr
disk            wd0     at wdc0 drive 0
disk            wd1     at wdc0 drive 1

controller      wdc1    at isa? port "IO_WD2" bio irq 15 vector wdintr
disk            wd2     at wdc1 drive 0
disk            wd3     at wdc1 drive 1

options         ATAPI           #Enable ATAPI support for IDE bus
options         ATAPI_STATIC    #Don't do it as an LKM
device          wcd0            #IDE CD-ROM
#device         wfd0            #IDE floppy (LS-120)

# A single entry for any of these controllers (ncr, ahb, ahc, amd) is
# sufficient for any number of installed devices.

controller      ncr0
#controller     amd0
#controller     ahb0
controller      ahc0
#controller     dpt0
#controller     bt0     at isa? port "IO_BT0" bio irq ? vector bt_isa_intr
#controller     uha0    at isa? port "IO_UHA0" bio irq ? drq 5 vector uhaintr
#controller     aha0    at isa? port "IO_AHA0" bio irq ? drq 5 vector ahaintr
#controller     aic0    at isa? port 0x340 bio irq 11 vector aicintr
#controller     nca0    at isa? port 0x1f88 bio irq 10 vector ncaintr
#controller     nca1    at isa? port 0x350 bio irq 5 vector ncaintr
#controller     sea0    at isa? bio irq 5 iomem 0xc8000 iosiz 0x2000 vector seai
ntr

#options                DPT_MEASURE_PERFORMANCE # Required by DPT driver??
##options               DPT_VERIFY_HINTR        # Some hardware must have it!
##options               DPT_TRACK_CCB_STATES    # Some hardware must have it!
##options               DPT_HANDLE_TIMEOUTS     # Some hardware must have it!
##options               DPT_TIMEOUT_FACTOR=4    # Some hardware needs more

controller      scbus0

device          sd0

device          od0     #See LINT for possible `od' options.

device          st0

device          cd0     #Only need one of these, the code dynamically grows

#device         wt0     at isa? port 0x300 bio irq 5 drq 1 vector wtintr
#device         mcd0    at isa? port 0x300 bio irq 10 vector mcdintr

#controller     matcd0  at isa? port 0x230 bio

#device         scd0    at isa? port 0x230 bio

# syscons is the default console driver, resembling an SCO console
device          sc0     at isa? port "IO_KBD" tty irq 1 vector scintr
# Enable this and PCVT_FREEBSD for pcvt vt220 compatible console driver
#device         vt0     at isa? port "IO_KBD" tty irq 1 vector pcrint
options         XSERVER                 # support for X server
#options                FAT_CURSOR              # start with block cursor
# If you have a ThinkPAD, uncomment this along with the rest of the PCVT lines
#options                PCVT_SCANSET=2          # IBM keyboards are non-std

# Mandatory, don't remove
device          npx0    at isa? port "IO_NPX" flags 0x1 irq 13 vector npxintr

#
# Laptop support (see LINT for more options)
#
#device         apm0    at isa? disable # Advanced Power Management
#options                APM_BROKEN_STATCLOCK    # Workaround some buggy APM BIOS
# PCCARD (PCMCIA) support
#controller     card0
#device         pcic0   at card?
#device         pcic1   at card?

device          sio0    at isa? port "IO_COM1" tty irq 4 vector siointr
device          sio1    at isa? port "IO_COM2" tty irq 3 vector siointr
#device         sio2    at isa? disable port "IO_COM3" tty irq 5 vector siointr
#device         sio3    at isa? disable port "IO_COM4" tty irq 9 vector siointr

device          lpt0    at isa? port? tty irq 7 vector lptintr
#device         lpt1    at isa? port? tty
#device         mse0    at isa? port 0x23c tty irq 5 vector mseintr

device          psm0    at isa? port "IO_KBD" conflicts tty irq 12 vector psmint
r

# Order is important here due to intrusive probes, do *not* alphabetize
# this list of network interfaces until the probes have been fixed.
# Right now it appears that the ie0 must be probed before ep0. See
# revision 1.20 of this file.
device de0
#device fxp0
#device tx0
#device vx0

#device ed0 at isa? port 0x280 net irq 10 iomem 0xd8000 vector edintr
#device ie0 at isa? port 0x300 net irq 10 iomem 0xd0000 vector ieintr
#device ep0 at isa? port 0x300 net irq 10 vector epintr
#device ex0 at isa? port? net irq? vector exintr
#device fe0 at isa? port 0x300 net irq ? vector feintr
#device le0 at isa? port 0x300 net irq 5 iomem 0xd0000 vector le_intr
#device lnc0 at isa? port 0x280 net irq 10 drq 0 vector lncintr
#device ze0 at isa? port 0x300 net irq 5 iomem 0xd8000 vector zeintr
#device zp0 at isa? port 0x300 net irq 10 iomem 0xd8000 vector zpintr
#device cs0 at isa? disable port 0x300 net irq ? vector csintr

pseudo-device   loop
pseudo-device   ether
pseudo-device   log
pseudo-device   sl      0
pseudo-device   ppp     0
pseudo-device   vn      1
pseudo-device   tun     1
pseudo-device   pty     32
pseudo-device   gzip            # Exec gzipped a.out's
pseudo-device bpfilter 4


# KTRACE enables the system-call tracing facility ktrace(2).
# This adds 4 KB bloat to your kernel, and slightly increases
# the costs of each syscall.
#options                KTRACE          #kernel tracing

# This provides support for System V shared memory.
#
options         SYSVSHM
options         SYSVSEM
options         SYSVMSG

controller      pnp0 
#pnp 1 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3
device pcm0 at isa? port 0x534 tty irq 5 drq 1 flags 0x0 vector pcmintr

#####################################
dmesg output
#####################################

Copyright (c) 1992-1998 FreeBSD Inc.
Copyright (c) 1982, 1986, 1989, 1991, 1993
        The Regents of the University of California.  All rights reserved.

FreeBSD 2.2.8-STABLE #0: Thu Dec 17 16:19:46 CST 1998
    dlacroix@narf2.streams.com:/usr/src/sys/compile/NARF
CPU: AMD-K6(tm) 3D processor (299.94-MHz 586-class CPU)
  Origin = "AuthenticAMD"  Id = 0x580  Stepping=0
  Features=0x8001bf<FPU,VME,DE,PSE,TSC,MSR,MCE,CX8,MMX>
real memory  = 67108864 (65536K bytes)

FreeBSD Kernel Configuration Utility - Version 1.1
 Type "help" for help or "visual" to go to the visual
 configuration interface (requires MGA/VGA display or
 serial terminal capable of displaying ANSI graphics).
config> pnp 2 0 os enable port0 0x534 port2 0x220 irq0 5 drq0 1 drq1 3
config> quit
avail memory = 63275008 (61792K bytes)
Probing for devices on PCI bus 0:
chip0 <generic PCI bridge (vendor=10b9 device=1531 subclass=0)> rev 178 on pci0:0:0
chip1 <generic PCI bridge (vendor=10b9 device=1533 subclass=1)> rev 7 on pci0:2:0
vga0 <VGA-compatible display device> rev 154 on pci0:4:0
pci0:11:    ACER Labs, device=0x5229, class=storage (ide) int a irq ?? [no driver assigned]
pci0:13:    ACER Labs, device=0x5237, class=serial, subclass=0x03 int a irq 11 [no driver assigned]
de0 <Digital 21140A Fast Ethernet> rev 34 int a irq 10 on pci0:15:0
de0: 21140A [10-100Mb/s] pass 2.2
de0: address 00:40:05:a3:b9:44
Probing for PnP devices:
CSN 1 Vendor ID: WSC5d19 [0x195d635e] Serial 0x00000100
CSN 2 Vendor ID: CSC8037 [0x3780630e] Serial 0xffffffff
PnP: override config for CSN 2 LDN 0 vend_id 0x3780630e
mss_attach <CS4237>1 at 0x530 irq 5 dma 1:3 flags 0x13
pcm1 (CS423x/Yamaha <CS4237> sn 0xffffffff) at 0x530 irq 5 drq 1 flags 0x13 id 14
Probing for devices on the ISA bus:
sc0 at 0x60-0x6f irq 1 on motherboard
sc0: VGA color <16 virtual consoles, flags=0x0>
sio0: configured irq 4 not in bitmap of probed irqs 0
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 8250
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
lpt0 at 0x378-0x37f irq 7 on isa
lpt0: Interrupt-driven port
lp0: TCP/IP capable interface
psm0 at 0x60-0x64 irq 12 on motherboard
psm0: model Generic PS/2 mouse, device ID 0
pcm0 not found at 0x534
fdc0 at 0x3f0-0x3f7 irq 6 drq 2 on isa
fdc0: FIFO enabled, 8 bytes threshold
fd0: 1.44MB 3.5in
wdc0 at 0x1f0-0x1f7 irq 14 on isa
wdc0: unit 0 (wd0): <QUANTUM Bigfoot TX6.0AT>
wd0: 5748MB (11773755 sectors), 12459 cyls, 15 heads, 63 S/T, 512 B/S
wdc1 at 0x170-0x177 irq 15 on isa
wdc1: unit 0 (atapi): <SANYO   CD-ROM CRD-1332P/103d>, removable, dma, iordis
wcd0: 2406/5500KB/sec, 128KB cache, audio play, 256 volume levels, ejectable tray
wcd0: no disc inside, unlocked
npx0 flags 0x1 on motherboard
npx0: INT 16 interface

The machine itself is an IBM Aptiva E85 with a NetGear FA310TX (10/100 PCI ethernetcard)
K6-2/300Mhz, 64Mb PC100 ram, Quantum Bigfoot 6Gig (slow IDE disk), 
integrated IDE, IO, sound, and ATI video.

>Description:

        After machine has been running for a random period of time (relatively heavy
use -- rc5des (bovine), netscape, X-mach64, mysql, apache webserver, emacs, fvwm2) 
it appears that the kernel's "stats clock" or the alternate system clock dies.  
I've looked at the fix mentioned in previous PRs in clock.c, and it IS in fact in
my source tree.  

symptoms:

iostat yields outrageous numbers:

      tty          wd0          cpu
 tin tout sps tps msps  us ni sy in id
469665920197877836885994547262167552  0.0   0  0  0  0  0

systat -iostat reflects similar values

systat -vmstat says: The alternate system clock has died! ...

time rc5des -benchmark yields:

./rc5des -benchmark  0.00s user 30.47s system 98% cpu 30.833 total

(this was mentioned in a previous PR, so I'll list the values here:)
vmstat -i; sleep 2; vmstat -i reports:

interrupt      total      rate
clk0 irq0    32524987       99
pci irq10     1711156        5
fdc0 irq6           1        0
wdc0 irq14    6720130       20
wdc1 irq15      33855        0
sc0 irq1       115777        0
psm0 irq12    1316748        4
Total        42422654      130
interrupt      total      rate
clk0 irq0    32525193       99
pci irq10     1711158        5
fdc0 irq6           1        0
wdc0 irq14    6720178       20
wdc1 irq15      33855        0
sc0 irq1       115778        0
psm0 irq12    1316748        4
Total        42422911      130

Also "top" no longer reports CPU percentages for ANYTHING:

CPU states:  0.0% user,  0.0% nice,  0.0% system,  0.0% interrupt,  0.0% idle
(or any tasks)

-----

As I mentioned above, this behavior is consistent, and I have been unable to 
isolate the conditions under which this behavior starts.  To offset the effect,
I have to do a cold restart, though sometimes the effect resumes almost
immediately.


>How-To-Repeat:

Unknown -- though it's pretty sure the condition will occur eventually.

>Fix:

Not really a fix, but a temporary work around is to do a cold restart of 
the system.

>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?199901081800.NAA29646>