linux_dsm_epyc7002/drivers/net
Florian Fainelli c73b01837e net: systemport: rewrite bcm_sysport_rx_refill
Currently, bcm_sysport_desc_rx() calls bcm_sysport_rx_refill() at the end of Rx
packet processing loop, after the current Rx packet has already been passed to
napi_gro_receive(). However, bcm_sysport_rx_refill() might fail to allocate a new
Rx skb, thus leaving a hole on the Rx queue where no valid Rx buffer exists.

To eliminate this situation:

1. Rewrite bcm_sysport_rx_refill() to retain the current Rx skb on the
Rx queue if a new replacement Rx skb can't be allocated and DMA-mapped.
In this case, the data on the current Rx skb is effectively dropped.

2. Modify bcm_sysport_desc_rx() to call bcm_sysport_rx_refill() at the
top of Rx packet processing loop, so that the new replacement Rx skb is
already in place before the current Rx skb is processed.

This is loosely inspired from d6707bec59 ("net: bcmgenet: rewrite
bcmgenet_rx_refill()")

Signed-off-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-05-30 23:51:17 -07:00
..
appletalk
arcnet
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-05-23 01:22:35 -04:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-05-13 14:31:43 -04:00
cris
dsa net: dsa: bcm_sf2: properly propagate carrier down state for MoCA 2015-05-17 23:40:24 -04:00
ethernet net: systemport: rewrite bcm_sysport_rx_refill 2015-05-30 23:51:17 -07:00
fddi
hamradio
hippi
hyperv hv_netvsc: Properly size the vrss queues 2015-05-30 17:38:44 -07:00
ieee802154 atusb: add support for at86rf230 2015-05-27 19:29:54 +02:00
ipvlan ipvlan: Always set broadcast bit in multicast filter 2015-05-05 19:29:49 -04:00
irda irda: irda-usb: use msecs_to_jiffies for conversions 2015-05-25 17:39:21 -04:00
phy net: phy: Utilize phy_interface_is_rgmii 2015-05-27 00:27:35 -04:00
plip
ppp Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-05-13 14:31:43 -04:00
slip
team switchdev: add support for fdb add/del/dump via switchdev_port_obj ops. 2015-05-17 22:49:09 -04:00
usb cdc_ncm: Fix tx_bytes statistics 2015-05-22 14:26:31 -04:00
vmxnet3
wan cosa: fix error return code 2015-04-07 15:21:55 -04:00
wimax
wireless ath10k: 2015-05-24 23:23:01 -04:00
xen-netback net:xen-netback - Change 1 to true for bool type variable. 2015-05-25 16:34:35 -04:00
dummy.c
eql.c
geneve.c geneve: add initial netdev driver for GENEVE tunnels 2015-05-13 15:59:13 -04:00
ifb.c act_mirred: Fix bogus header when redirecting from VLAN 2015-04-17 13:29:28 -04:00
Kconfig geneve: add initial netdev driver for GENEVE tunnels 2015-05-13 15:59:13 -04:00
LICENSE.SRC
loopback.c
macvlan.c macvlan: Propagate promiscuity setting to lower devices. 2015-05-04 00:14:13 -04:00
macvtap.c fix missing copy_from_user in macvtap 2015-05-13 14:21:36 -04:00
Makefile geneve: add initial netdev driver for GENEVE tunnels 2015-05-13 15:59:13 -04:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c net: Pass kern from net_proto_family.create to sk_alloc 2015-05-11 10:50:17 -04:00
veth.c
virtio_net.c virtio: document queue state logic 2015-04-06 16:44:24 -04:00
vxlan.c vxlan: release lock after each bucket in vxlan_cleanup 2015-05-27 13:33:21 -04:00
xen-netfront.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-04-17 16:31:08 -04:00