]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sfc: Only use TX push if a single descriptor is to be written
authorBen Hutchings <bhutchings@solarflare.com>
Wed, 27 Feb 2013 16:50:38 +0000 (16:50 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 28 Mar 2013 19:17:28 +0000 (12:17 -0700)
commit592d2aa069e66958c05829d43eee8d5b5a954f68
treee6eff8e1948a8691d89f317ed8efd5ecedd1ef6a
parent2c89ed5a30d0768d50c02e3bb301a576991e50fd
sfc: Only use TX push if a single descriptor is to be written

[ Upstream commit fae8563b25f73dc584a07bcda7a82750ff4f7672 ]

Using TX push when notifying the NIC of multiple new descriptors in
the ring will very occasionally cause the TX DMA engine to re-use an
old descriptor.  This can result in a duplicated or partly duplicated
packet (new headers with old data), or an IOMMU page fault.  This does
not happen when the pushed descriptor is the only one written.

TX push also provides little latency benefit when a packet requires
more than one descriptor.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/ethernet/sfc/nic.c