dummynet, em driver, device polling issues :-((
Ferdinand Goldmann
ferdinand.goldmann at jku.at
Tue Oct 4 07:27:44 PDT 2005
Kevin Day wrote:
> This is pretty odd. We've got dozens of servers using various versions
> of 5.x, and many different em cards, and have no problem, even when
> shoving near line rate speeds out of them.
Maximum transfer rates we see in MRTG were around 320Mbit/s (with polling disabled)
> em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port
> 0xecc0-0xecff mem 0xdfae0000-0xdfafffff irq 64 at device 7.0 on pci6
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port
0x2280-0x22bf mem 0xeffc0000-0xeffdffff
irq 20 at device 5.0 on pci1
Pretty much the same here, even the driver version.
em0 at pci1:5:0: class=0x020000 card=0x10028086 chip=0x10268086 rev=0x04 hdr=0x00
vendor = 'Intel Corporation'
device = '82545GM Gigabit Ethernet Controller'
> After you experience your problems, can you do "sysctl -w
> hw.em0.stats=1" and "sysctl -w hw.em0.debug_info=1" and post what gets
> dumped to your syslog/dmesg output?
em0: Excessive collisions = 0
em0: Symbol errors = 0
em0: Sequence errors = 0
em0: Defer count = 11
em0: Missed Packets = 0
em0: Receive No Buffers = 0
em0: Receive length errors = 0
em0: Receive errors = 0
em0: Crc errors = 0
em0: Alignment errors = 0
em0: Carrier extension errors = 0
em0: XON Rcvd = 11
em0: XON Xmtd = 0
em0: XOFF Rcvd = 11
em0: XOFF Xmtd = 0
em0: Good Packets Rcvd = 283923273
em0: Good Packets Xmtd = 272613648
em0: Adapter hardware address = 0xc12cfb48
em0:CTRL = 0x58f00249
em0:RCTL = 0x8002 PS=(0x8402)
em0:tx_int_delay = 66, tx_abs_int_delay = 66
em0:rx_int_delay = 0, rx_abs_int_delay = 66
em0: fifo workaround = 0, fifo_reset = 0
em0: hw tdh = 173, hw tdt = 173
em0: Num Tx descriptors avail = 256
em0: Tx Descriptors not avail1 = 0
em0: Tx Descriptors not avail2 = 0
em0: Std mbuf failed = 0
em0: Std mbuf cluster failed = 0
em0: Driver dropped packets = 0
> We're using polling on nearly all the servers, and don't see ierrs at
> all.
Hm. That's strange. The above values were gathered with polling disabled. As
soon as I enable polling, ierrs on the em0 interface are rising:
em0: Excessive collisions = 0
em0: Symbol errors = 0
em0: Sequence errors = 0
em0: Defer count = 11
em0: Missed Packets = 39
em0: Receive No Buffers = 2458
em0: Receive length errors = 0
em0: Receive errors = 0
em0: Crc errors = 0
em0: Alignment errors = 0
em0: Carrier extension errors = 0
em0: XON Rcvd = 11
em0: XON Xmtd = 4
em0: XOFF Rcvd = 11
em0: XOFF Xmtd = 43
em0: Good Packets Rcvd = 315880003
em0: Good Packets Xmtd = 303985941
em0: Adapter hardware address = 0xc12cfb48
em0:CTRL = 0x58f00249
em0:RCTL = 0x8002 PS=(0x8402)
em0:tx_int_delay = 66, tx_abs_int_delay = 66
em0:rx_int_delay = 0, rx_abs_int_delay = 66
em0: fifo workaround = 0, fifo_reset = 0
em0: hw tdh = 57, hw tdt = 57
em0: Num Tx descriptors avail = 249
em0: Tx Descriptors not avail1 = 0
em0: Tx Descriptors not avail2 = 0
em0: Std mbuf failed = 0
em0: Std mbuf cluster failed = 0
em0: Driver dropped packets = 0
Can you tell me what settings you are using for polling? I have set it to
HZ=1000 and burst_max=300.
I have now noticed another thing which might indicate one of the possible
causes for the problem - this box until now ran FreeBSD 4.x and did not support
ipfw tables to lock out whole lists of IP adresses. So there were quite a few
inefficient rules for this. I now put all the locked IP addresses in a table
which is referenced by only one rule. Since I did this, the ierrs seem to rise
slower with polling enabled.
> Have you tried contacting Intel directly about this?
> freebsdnic at mailbox.intel.com has been pretty helpful with em specific
> problems in the past.
Not yet, thank you for the hint.
--
>> Ferdinand Goldmann //// | |
>> EMail: Ferdinand.Goldmann at zid.uni-linz.ac.at |--00 | UNIX |
>> Tel. : +43/732/2468/9398 Fax. : +43/732/2468/9397 C ^ | |
>> EMail: Ferdinand.Goldmann at zid.uni-linz.ac.at \ ~/ ~~~|~~~~~~~~
>> PGP D4CF 8AA4 4B2A 7B88 65CA 5EDC 0A9B FA9A 13EA B993| |-----3
More information about the freebsd-net
mailing list