Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 06 Feb 2002 20:18:05 -0800
From:      Darren Pilgrim <dmp@pantherdragon.org>
To:        freebsd-questions@freebsd.org
Subject:   dc NIC stalls, generating 35-40k+ interupts/sec?
Message-ID:  <3C61FFFD.D8C5679@pantherdragon.org>

next in thread | raw e-mail | index | archive | help
I'm trying to transfer a 1GB file over my network via FTP.  The file is
1GB (2^30 bytes) dd'ed from /dev/zero in 1024 blocks.  The client on
another machine will start downloading, get about 10MB into the file,
then stall.  "systat -vmstat 1" on the server will show 35-40k
interupts per second coming from IRQ 18 (named "mux"), resulting in a
very noticable slow down.  TX underrun messages such as the following
will be logged:

Feb  6 19:44:51 spark /kernel: dc0: TX underrun -- increasing TX threshold
Feb  6 19:45:00 spark /kernel: dc0: TX underrun -- increasing TX threshold

The only things on IRQ 18 are an el-cheapo NIC (dc0) and a HPT366 ATA
controller (ata2 and ata3).  All disks are idle when this occurs,
despite the "in progress" transfer.  The high rate of interupts will
continue even if I kill the FTP daemon and/or the client.  When I down
dc0, however, the interupts on mux will return to idle/normal and
everything is fine again, until I try the transfer again.  This is
reliably reproducable on my box (it happens every time I try to FTP
that file).  I haven't tried unplugging the cable, or sending other
traffic to/from the box.  Relevant info from dmesg:

FreeBSD 4.2-RELEASE #3: Thu Dec 13 17:28:48 PST 2001
    root@spark.techno.pagans:/usr/src/sys/compile/SPARK
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium II/Pentium II Xeon/Celeron (501.14-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x665  Stepping = 5
  Features=0x183fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR>
real memory  = 67108864 (65536K bytes)
avail memory = 62504960 (61040K bytes)
Programming 24 pins in IOAPIC #0
IOAPIC #0 intpin 2 -> irq 0
FreeBSD/SMP: Multiprocessor motherboard
 cpu0 (BSP): apic id:  0, version: 0x00040011, at 0xfee00000
 cpu1 (AP):  apic id:  1, version: 0x00040011, at 0xfee00000
 io0 (APIC): apic id:  2, version: 0x00170011, at 0xfec00000
<...>
dc0: <ADMtek AN985 10/100BaseTX> port 0xc800-0xc8ff mem 0xe9102000-0xe91023ff irq 18 at device 11.0 on pci0
dc0: Ethernet address: 00:04:5a:59:7c:a8
miibus0: <MII bus> on dc0
ukphy0: <Generic IEEE 802.3u media interface> on miibus0
ukphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
atapci1: <HighPoint HPT366 ATA66 controller> port 0xd800-0xd8ff,0xd400-0xd403,0xd000-0xd007 irq 18 at device 19.0 on pci0
ata2: at 0xd000 on atapci1
atapci2: <HighPoint HPT366 ATA66 controller> port 0xe400-0xe4ff,0xe000-0xe003,0xdc00-0xdc07 irq 18 at device 19.1 on pci0
ata3: at 0xdc00 on atapci2

Dual 500MHz Celerons on an Abit BP6 (440BX) mainboard.  The device
description for dc0 is incorrect.

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




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