[Bug 193802] New: tso seems broken on RELENG10 for version 7.4.2 of em driver
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Sun Sep 21 01:00:30 UTC 2014
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=193802
Bug ID: 193802
Summary: tso seems broken on RELENG10 for version 7.4.2 of em
driver
Product: Base System
Version: 10.0-STABLE
Hardware: amd64
OS: Any
Status: Needs Triage
Severity: Affects Many People
Priority: ---
Component: kern
Assignee: freebsd-bugs at FreeBSD.org
Reporter: mike at sentex.net
The latest version of the em driver seems to have broken tso support. When
using default nfs mount options, the client's nic will wedge and throw watchdog
errors. Reverting to the previous version of em, or disabling tso works around
the issue.
The bug seems to effect at least two variants of the NIC
vendor = 'Intel Corporation'
device = '82574L Gigabit Network Connection'
class = network
and
em0 at pci0:0:25:0: class=0x020000 card=0x34ec8086 chip=0x10ef8086
rev=0x05 hdr=0x00
vendor = 'Intel Corporation'
device = '82578DM Gigabit Network Connection'
More discussion can be found in
http://lists.freebsd.org/pipermail/freebsd-stable/2014-September/080081.html
To recreate the issue, on the nfs client mount an nfs share with default
options. In my test case, it was a RELENG10 box with igb nics acting as the
server
generate a number of tcp streams over the share. running these two scripts at
the same time will wedge the client nic in less then a few minutes
#!/bin/sh
while true
do
dd if=/dev/urandom ibs=64k count=1000 | pbzip2 -c -p3 > /mnt/test.bz2
dd if=/dev/urandom ibs=63k count=1000 | pbzip2 -c -p3 > /mnt/test.bz2
dd if=/dev/urandom ibs=66k count=1000 | pbzip2 -c -p3 > /mnt/test.bz2
done
root at backup3:/usr/home/mdtancsa # cat i3
#!/bin/sh
while true
do
dd if=/dev/zero of=/mnt/test2 bs=128k count=2000
sleep 10
done
When wedged, the NIC shows
Interface is RUNNING and ACTIVE
em1: hw tdh = 343, hw tdt = 838
em1: hw rdh = 512, hw rdt = 511
em1: Tx Queue Status = 1
em1: TX descriptors avail = 516
em1: Tx Descriptors avail failure = 1
em1: RX discarded packets = 0
em1: RX Next to Check = 512
em1: RX Next to Refresh = 511
Occasionally, this error message will show up
em0: Watchdog timeout -- resetting
em0: Queue(0) tdh = 349, hw tdt = 176
em0: TX(0) desc avail = 173,Next TX to Clean = 349
em0: link state changed to DOWN
em0: link state changed to UP
At this point, ifconfig em0 down;ifconfig em0 up needs to be done.
work around is either to revert to the previous version of the driver, or
ifconfig em0 -tso
FreeBSD 10.1-BETA1 #10 r271466
on an Intel MB S3420GP
Latest BIOS
Version: S3420GP.86B.01.00.0052.051620141338
Also tested on an AMD MB with a PCI-E NIC
--
You are receiving this mail because:
You are the assignee for the bug.
More information about the freebsd-bugs
mailing list