[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

More NIC related IRQ / Cpu Usage Problems



Hello,

There have been a number of posts recently about the CPU usage being 
hogged by interrupts when a network card is under load.  I am experiencing 
this problem on a number of IBM/PC330 boxes being used as routers.  Once 
the network interface gets any kind of a load the cpu usage spikes up and 
the box lags badly.  It will start responding once the network load goes 
away however.

While under load interrupt cpu usage goes around 65-90%

I have tried this on 3 different IBM/PC330 machines all almost identical 
hardware.  Originally I was using ethernet cards detected as dc.  I read 
the responses to similar posts saying that it would be better to try Intel 
based cards detected as fxp.  So I bought 3 new fxp cards and tried them 
all.

fxp0 is using default media options

Here is the relevant info: 
dmesg, ps waux, ifstat -b, iostat -c20, vmstat -c20

dmesg:
------

OpenBSD 3.6 (GENERIC) #59: Fri Sep 17 12:32:57 MDT 2004
    deraadt_(_at_)_i386_(_dot_)_openbsd_(_dot_)_org:/usr/src/sys/arch/i386/compile/GENERIC
cpu0: Intel Pentium (P54C) ("GenuineIntel" 586-class) 133 MHz
cpu0: FPU,V86,DE,PSE,TSC,MSR,MCE,CX8
cpu0: F00F bug workaround installed
real mem  = 66691072 (65128K)
avail mem = 53325824 (52076K)
using 839 buffers containing 3436544 bytes (3356K) of memory
mainbus0 (root)
bios0 at mainbus0: AT/286+(00) BIOS, date 05/29/96, BIOS32 rev. 0 @ 0xfd971
pcibios0 at bios0: rev 2.1 @ 0xf0000/0x10000
pcibios0: PCI BIOS has 6 Interrupt Routing table entries
pcibios0: PCI Interrupt Router at 000:01:0 ("Intel 82371SB ISA" rev 0x00)
pcibios0: PCI bus #0 is the last bus
bios0: ROM list: 0xc0000/0x8000 0xc8000/0x1800 0xc9800/0x1800
cpu0 at mainbus0
pci0 at mainbus0 bus 0: configuration mode 1 (bios)
pchb0 at pci0 dev 0 function 0 "Intel 82439HX" rev 0x01
pcib0 at pci0 dev 1 function 0 "Intel 82371SB ISA" rev 0x01
pciide0 at pci0 dev 1 function 1 "Intel 82371SB IDE" rev 0x00: DMA, channel 0 wired to compatibility, channel 1 wired to compatibility
wd0 at pciide0 channel 0 drive 0: <WDC AC21200H>
wd0: 16-sector PIO, LBA, 1222MB, 2503872 sectors
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2
pciide0: channel 1 ignored (disabled)
uhci0 at pci0 dev 1 function 2 "Intel 82371SB USB" rev 0x01: irq 15
usb0 at uhci0: USB revision 1.0
uhub0 at usb0
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
fxp0 at pci0 dev 7 function 0 "Intel 82557" rev 0x10: irq 11, address 00:0e:0c:5e:c0:13
inphy0 at fxp0 phy 1: i82555 10/100 media interface, rev. 4
vga1 at pci0 dev 8 function 0 "S3 Trio32/64" rev 0x54
wsdisplay0 at vga1: console (80x25, vt100 emulation)
wsdisplay0: screen 1-5 added (80x25, vt100 emulation)
fxp1 at pci0 dev 11 function 0 "Intel 82557" rev 0x10: irq 10, address 00:0e:0c:5e:c5:00
inphy1 at fxp1 phy 1: i82555 10/100 media interface, rev. 4
isa0 at pcib0
isadma0 at isa0
pckbc0 at isa0 port 0x60/5
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pmsi0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pmsi0 mux 0
pcppi0 at isa0 port 0x61
midi0 at pcppi0: <PC speaker>
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0/16: using exception 16
fdc0 at isa0 port 0x3f0/6 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB 80 cyl, 2 head, 18 sec
biomask e3fd netmask effd ttymask ffff
pctr: 586-class performance counters and user-level cycle counter enabled
dkcsum: wd0 matched BIOS disk 80
root on wd0a
rootdev=0x0 rrootdev=0x300 rawdev=0x302


ps waux:
--------

USER       PID %CPU %MEM   VSZ   RSS TT   STAT STARTED       TIME COMMAND
root         1  0.0  0.4   348   240 ??  Is    10:07AM    0:00.07 /sbin/init 
root     18077  0.0  0.7   140   452 ??  Is    10:08AM    0:00.07 syslogd: [priv] (syslogd)
_syslogd 18411  0.0  0.7   164   468 ??  S     10:08AM    0:00.12 syslogd -a /var/empty/dev/log 
root     21598  0.0  0.7   112   436 ??  Is    10:08AM    0:00.04 inetd 
root     31736  0.0  1.5   304   960 ??  Is    10:08AM    0:01.15 /usr/sbin/sshd 
root      4218  0.0  1.4   948   924 ??  Ss    10:08AM    0:01.11 sendmail: accepting connections (sendmail)
root     28987  0.0  0.8   272   544 ??  Ss    10:08AM    0:00.13 cron 
root     27247  0.0  0.5   376   308 C0  Ss    10:08AM    0:00.62 -csh (csh)
root      3712  0.0  0.3   288   172 C0  ?+    10:23AM    0:00.10 ps -waux 
root      2257  0.0  0.7    80   476 C1  Is+   10:08AM    0:00.04 /usr/libexec/getty Pc ttyC1 
root     30904  0.0  0.7    88   476 C2  Is+   10:08AM    0:00.04 /usr/libexec/getty Pc ttyC2 
root     20080  0.0  0.7    92   472 C3  Is+   10:08AM    0:00.04 /usr/libexec/getty Pc ttyC3 
root     23111  0.0  0.8    68   484 C5  Is+   10:08AM    0:00.04 /usr/libexec/getty Pc ttyC5 


ifstat -b:
----------

bigbrother# ifstat -b 
       fxp0       
 Kbps in  Kbps out
 5106.34   5835.81
 4739.40   5416.45
 4667.05   5333.77
 5248.18   5997.92
 5054.99   5777.13
 4889.13   5584.57
 5397.04   6168.04
 4306.92   4922.19
 5128.88   5861.58
 4848.94   5541.65
 5067.83   5791.81
 4464.68   5102.49
 4602.37   5257.85
 5357.92   6123.34
 4972.80   5683.20
 4837.92   5529.05
 5293.93   6049.34
 4898.07   5597.79
 4405.40   5034.74
 4424.88   5057.01


iostat -c20:
------------

            cpu
 us ni sy in id
  1  0  1 49 49
  0  0  0 73 27
  0  0  0 78 22
  0  0  0 74 26
  0  0  0 78 22
  0  0  0 75 25
  1  0  7 70 21
  1  0  0 76 23
  0  0  0 71 29
  0  0  0 80 20
  0  0  0 90 10
  1  0  0 70 29
  0  0  0 68 32
  0  0  0 80 20
  1  0  1 70 29
  0  0  0 66 34
  2  0  0 62 37
  1  0  0 75 24
  0  0  0 85 15
  0  0  1 88 11


vmstat -c20:
------------

 procs   memory        page                    disks     traps         cpu
 r b w    avm    fre   flt  re  pi  po  fr  sr wd0 fd0  int   sys   cs us sy id
 0 0 0   4744  39796    36   0   0   0   0   0   2   0 8702    67    5  1 54 45
 0 0 0   4744  39796    22   0   0   0   0   0   0   0 12596    53    2  0 76 24
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 13891     9    2  0 77 23
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 12023     9    2  0 74 26
 0 0 0   4744  39796    11   0   0   0   0   0   0   0 11131    21    3  0 63 37
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 14719     9    2  0 82 18
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 13487     9    3  1 73 26
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 13785     9    2  0 76 24
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 13728     9    3  0 85 15
 0 0 0   4744  39796    11   0   0   0   0   0   0   0 12366    21    3  0 78 22
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 13898    15    3  1 77 22
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 15096     9    2  0 79 21
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 11839    13    3  0 64 36
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 11575     9    2  0 71 29
 0 0 0   4744  39796    11   0   0   0   0   0   0   0 13629    21    2  1 81 18
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 13493     9    3  0 82 18
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 11756     9    2  0 66 34
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 14048     9    4  0 76 24
 0 0 0   4744  39796     7   0   0   0   0   0   0   0 12125     9    2  0 78 22
 0 0 0   4744  39796    11   0   0   0   0   0   0   0 14247    21    2  0 84 16


Any ideas?  I'm willing to test source patches.
Thanks,

			-Matt-



Visit your host, monkey.org