linux/drivers/net/ethernet/broadcom
Michael Chan cf6d6ea660 tg3: Disable multiple TX rings by default due to hardware flaw
Simple round-robin hardware TX scheduling can cause starvation of TX rings
with small packets when other TX rings have large TSO or jumbo packets.

In the simplest case, consider 2 TCP streams running in opposite
directions.  The TSO TX traffic will hash to one ring and the ACKs for the
incoming data on a different TCP connection will hash to a different TX
ring.  The hardware fetches one complete TSO packet (up to 64K data)
before servicing the other TX ring.  When it gets to the other TX ring, it
will only fetch one packet (64-byte ACK packet in this case).  After that,
it will switch back to the 1st ring filled with more TSO packets.  Because
only one ACK can go out roughly every 500 usec in this case, the incoming
data rate becomes very low.

Update version to 3.125.

Signed-off-by: Michael Chan <mchan@broadcom.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2012-09-30 02:10:36 -04:00
..
bnx2x Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2012-09-28 14:40:49 -04:00
Kconfig
Makefile
b44.c b44: add 64 bit stats 2012-07-18 09:29:43 -07:00
b44.h b44: add 64 bit stats 2012-07-18 09:29:43 -07:00
bcm63xx_enet.c bcm63xx-enet: fix PHY name to match MDIO bus name 2012-02-13 16:04:08 -05:00
bcm63xx_enet.h
bnx2.c bnx2: Clean up remaining iounmap 2012-09-27 19:18:50 -04:00
bnx2.h bnx2: Read PCI function number from internal register 2012-06-16 22:22:59 -07:00
bnx2_fw.h
cnic.c cnic: Allocate UIO resources only on devices that support iSCSI. 2012-09-10 15:48:21 -04:00
cnic.h cnic: Allocate kcq resource only on devices that support FCoE. 2012-09-10 15:48:21 -04:00
cnic_defs.h cnic: Fix parity error code conflict 2012-03-21 21:57:36 -04:00
cnic_if.h cnic: Allocate UIO resources only on devices that support iSCSI. 2012-09-10 15:48:21 -04:00
sb1250-mac.c drivers/net: Remove alloc_etherdev error messages 2012-01-31 16:20:48 -05:00
tg3.c tg3: Disable multiple TX rings by default due to hardware flaw 2012-09-30 02:10:36 -04:00
tg3.h tg3: Add support for ethtool -L|-l to get/set the number of rings. 2012-09-30 02:10:36 -04:00