linux/drivers/net
Robert Hancock bb193e3db8 net: axienet: fix for TX busy handling
Network driver documentation indicates we should be avoiding returning
NETDEV_TX_BUSY from ndo_start_xmit in normal cases, since it requires
the packets to be requeued. Instead the queue should be stopped after
a packet is added to the TX ring when there may not be enough room for an
additional one. Also, when TX ring entries are completed, we should only
wake the queue if we know there is room for another full maximally
fragmented packet.

Print a warning if there is insufficient space at the start of start_xmit,
since this should no longer happen.

Combined with increasing the default TX ring size (in a subsequent
patch), this appears to recover the TX performance lost by previous changes
to actually manage the TX ring state properly.

Fixes: 8a3b7a252d ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
Signed-off-by: Robert Hancock <robert.hancock@calian.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2022-01-19 11:29:14 +00:00
..
appletalk net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
arcnet
bonding bonding: Fix extraction of ports from the packet headers 2022-01-16 23:38:59 +00:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-01-09 17:00:17 -08:00
dsa net: dsa: felix: add port fast age support 2022-01-07 18:58:25 -08:00
ethernet net: axienet: fix for TX busy handling 2022-01-19 11:29:14 +00:00
fddi net:Remove initialization of static variables to 0 2021-12-27 14:53:00 +00:00
fjes fjes: Check for error irq 2021-12-22 10:22:13 +00:00
hamradio Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
hippi
hyperv
ieee802154 ieee802154: atusb: fix uninit value in atusb_set_extended_addr 2022-01-04 20:10:04 +01:00
ipa net: ipa: prevent concurrent replenish 2022-01-12 14:39:53 +00:00
ipvlan
mctp
mdio
netdevsim
pcs net: pcs: lynx: use a common naming scheme for all lynx_pcs variables 2022-01-02 18:48:47 +00:00
phy net: sfp: fix high power modules without diagnostic monitoring 2022-01-17 16:30:44 +00:00
plip
ppp Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-01-09 17:00:17 -08:00
slip
team
usb net: usb: Correct reset handling of smsc95xx 2022-01-14 11:21:06 +00:00
vmxnet3 vmxnet3: Remove useless DMA-32 fallback configuration 2022-01-09 16:52:19 -08:00
wan net: wan/lmc: fix spelling of "its" 2021-12-24 10:23:47 +00:00
wireguard
wireless iwlwifi: mvm: Use div_s64 instead of do_div in iwl_mvm_ftm_rtt_smoothing() 2022-01-09 16:25:53 -08:00
wwan net: wwan: Fix MRU mismatch issue which may lead to data connection lost 2022-01-15 22:40:52 +00:00
xen-netback
amt.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-01-09 17:00:17 -08:00
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig lib/crypto: blake2s: include as built-in 2022-01-07 00:25:25 +01:00
LICENSE.SRC
loopback.c net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
macsec.c
macvlan.c
macvtap.c
Makefile
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
thunderbolt.c
tun.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
veth.c veth: Do not record rx queue hint in veth_xmit 2022-01-06 13:49:54 +00:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00
vrf.c net: Don't include filter.h from net/sock.h 2021-12-29 08:48:14 -08:00
vsockmon.c
vxlan.c
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next 2021-12-31 14:35:40 +00:00