Mike Tancsa
2016-Jan-29 18:08 UTC
svn commit: r294958 - in stable/10: share/man/man4 sys/dev/e1000 sys/dev/ixgb sys/dev/netmap
On 1/27/2016 5:31 PM, Marius Strobl wrote:> Author: marius > Date: Wed Jan 27 22:31:08 2016 > New Revision: 294958 > URL: https://svnweb.freebsd.org/changeset/base/294958 > > Log: > Sync the e1000 drivers with what's in head as of r294327, modulo parts > that don't apply to stable/10 (driver API, if_inc_counter(), RSS changesHi, I am seeing some timeouts since upgrading to this rev. I am running r295008, i386. onboard NIC Manufacturer: Supermicro Product Name: PDSMi em0: Watchdog timeout Queue[0]-- resetting Interface is RUNNING and ACTIVE em0: TX Queue 0 ------ em0: hw tdh = 946, hw tdt = 159 em0: Tx Queue Status = -2147483648 em0: TX descriptors avail = 786 em0: Tx Descriptors avail failure = 0 em0: RX Queue 0 ------ em0: hw rdh = 401, hw rdt = 400 em0: RX discarded packets = 0 em0: RX Next to Check = 401 em0: RX Next to Refresh = 400 em0: link state changed to DOWN em0: link state changed to UP em0: Watchdog timeout Queue[0]-- resetting Interface is RUNNING and ACTIVE em0: TX Queue 0 ------ em0: hw tdh = 87, hw tdt = 378 em0: Tx Queue Status = -2147483648 em0: TX descriptors avail = 720 em0: Tx Descriptors avail failure = 0 em0: RX Queue 0 ------ em0: hw rdh = 740, hw rdt = 739 em0: RX discarded packets = 0 em0: RX Next to Check = 741 em0: RX Next to Refresh = 740 em0: link state changed to DOWN em0: link state changed to UP Limiting open port RST response from 292 to 200 packets/sec em0: Watchdog timeout Queue[0]-- resetting Interface is RUNNING and ACTIVE em0: TX Queue 0 ------ em0: hw tdh = 611, hw tdt = 840 em0: Tx Queue Status = -2147483648 em0: TX descriptors avail = 773 em0: Tx Descriptors avail failure = 0 em0: RX Queue 0 ------ em0: hw rdh = 660, hw rdt = 659 em0: RX discarded packets = 0 em0: RX Next to Check = 660 em0: RX Next to Refresh = 659 em0: link state changed to DOWN em0: link state changed to UP # pciconf -lBvcb em0 em0 at pci0:13:0:0: class=0x020000 card=0x108c15d9 chip=0x108c8086 rev=0x03 hdr=0x00 vendor = 'Intel Corporation' device = '82573E Gigabit Ethernet Controller (Copper)' class = network subclass = ethernet bar [10] = type Memory, range 32, base 0xe8a00000, size 131072, enabled bar [18] = type I/O Port, range 32, base 0x5000, size 32, enabled cap 01[c8] = powerspec 2 supports D0 D3 current D0 cap 05[d0] = MSI supports 1 message, 64 bit enabled with 1 message cap 10[e0] = PCI-Express 1 endpoint max data 128(256) RO NS link x1(x1) speed 2.5(2.5) ecap 0001[100] = AER 1 0 fatal 1 non-fatal 0 corrected ecap 0003[140] = Serial 1 003048ffff9c59f0 -- ------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike at sentex.net Providing Internet services since 1994 www.sentex.net Cambridge, Ontario Canada http://www.tancsa.com/
Harry Schmalzbauer
2016-Jan-29 18:42 UTC
svn commit: r294958 - in stable/10: share/man/man4 sys/dev/e1000 sys/dev/ixgb sys/dev/netmap
Bez?glich Mike Tancsa's Nachricht vom 29.01.2016 19:08 (localtime):> On 1/27/2016 5:31 PM, Marius Strobl wrote: >> Author: marius >> Date: Wed Jan 27 22:31:08 2016 >> New Revision: 294958 >> URL: https://svnweb.freebsd.org/changeset/base/294958 >> >> Log: >> Sync the e1000 drivers with what's in head as of r294327, modulo parts >> that don't apply to stable/10 (driver API, if_inc_counter(), RSS changes > > Hi, > I am seeing some timeouts since upgrading to this rev. I am running > r295008, i386. onboard NIC > > Manufacturer: Supermicro > Product Name: PDSMi > > > em0: Watchdog timeout Queue[0]-- resetting > Interface is RUNNING and ACTIVE > em0: TX Queue 0 ------ > em0: hw tdh = 946, hw tdt = 159 > em0: Tx Queue Status = -2147483648 > em0: TX descriptors avail = 786 > em0: Tx Descriptors avail failure = 0 > em0: RX Queue 0 ------ > em0: hw rdh = 401, hw rdt = 400 > em0: RX discarded packets = 0 > em0: RX Next to Check = 401 > em0: RX Next to Refresh = 400 > em0: link state changed to DOWN > em0: link state changed to UP > em0: Watchdog timeout Queue[0]-- resetting > Interface is RUNNING and ACTIVE > em0: TX Queue 0 ------ > em0: hw tdh = 87, hw tdt = 378 > em0: Tx Queue Status = -2147483648 > em0: TX descriptors avail = 720 > em0: Tx Descriptors avail failure = 0 > em0: RX Queue 0 ------ > em0: hw rdh = 740, hw rdt = 739 > em0: RX discarded packets = 0 > em0: RX Next to Check = 741 > em0: RX Next to Refresh = 740 > em0: link state changed to DOWN > em0: link state changed to UP > Limiting open port RST response from 292 to 200 packets/sec > em0: Watchdog timeout Queue[0]-- resetting > Interface is RUNNING and ACTIVE > em0: TX Queue 0 ------ > em0: hw tdh = 611, hw tdt = 840 > em0: Tx Queue Status = -2147483648 > em0: TX descriptors avail = 773 > em0: Tx Descriptors avail failure = 0 > em0: RX Queue 0 ------ > em0: hw rdh = 660, hw rdt = 659 > em0: RX discarded packets = 0 > em0: RX Next to Check = 660 > em0: RX Next to Refresh = 659 > em0: link state changed to DOWN > em0: link state changed to UP > > > > # pciconf -lBvcb em0 > em0 at pci0:13:0:0: class=0x020000 card=0x108c15d9 chip=0x108c8086 > rev=0x03 hdr=0x00 > vendor = 'Intel Corporation' > device = '82573E Gigabit Ethernet Controller (Copper)'I guess you haven't compiled the kernel with EM_MULTIQUEUE. I can't remember if 82573 is supposed to be able to handle 2 queues. I couldn't help solving your problem anyways, but I found default number of rx/tx descriptors somewhen increased from 1024 to 4096 for my 82574. What does hw.em.txd read with your 82573? Before my EM-MULTIQUEUE problem vanished, reducing hw.em.txd (and rxd) to 256 relaxed the timeout problem a lot. Seems your interface is recovering after watchdog-reset? Mine stayed unusable unitl I triggered ifconfig down/up. Have you checked if disabling TSO changes anything? Probably checking if hw.em.enable_msix changes symptoms could also narrow down the root cause. Hope your problem also vanishes soon :-) -Harry