linux_dsm_epyc7002/drivers/net/ethernet
Vlad Buslov e4f9abbd38 net/mlx5e: Extend hairpin entry with reference counter
List of flows attached to hairpin entry is used as implicit reference
counter (hairpin entry is deallocated when list becomes free) and as a
mechanism to obtain hairpin entry that flow is attached to (through list
head). This is not safe when concurrent modification of list of flows
attached to hairpin entry is possible. Proper atomic reference counter is
required to support concurrent access.

As a preparation for extending hairpin with reference counting, extract
code that deletes hairpin entry into standalone function. In order to
remove this dependency on external locking, extend hairpin entry with
reference counter to manage its lifetime and extend flow structure with
direct pointer to hairpin entry that flow is attached to.

Signed-off-by: Vlad Buslov <vladbu@mellanox.com>
Reviewed-by: Jianbo Liu <jianbol@mellanox.com>
Reviewed-by: Roi Dayan <roid@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
2019-08-09 14:54:08 -07:00
..
3com net: 3com: 3c59x: Use dev_get_drvdata 2019-07-23 13:02:41 -07:00
8390 net: 8390: Fix manufacturer name in Kconfig help text 2019-08-01 13:45:48 -04:00
adaptec
aeroflex Build fixes for skb_frag_size conversion 2019-07-24 11:46:03 -07:00
agere Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
alacritech treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 235 2019-06-19 17:09:07 +02:00
allwinner net: ethernet: sun4i-emac: Support phy-handle property for finding PHYs 2019-08-06 11:29:16 -07:00
alteon
altera
amazon Revert "net: ena: ethtool: add extra properties retrieval via get_priv_flags" 2019-06-26 09:07:39 -07:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
apm net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
apple net: delete "register" keyword 2019-08-08 18:03:42 -07:00
aquantia Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-06-27 21:06:39 -07:00
arc treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
atheros Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
aurora net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
brocade net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
cadence Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-07-08 19:48:57 -07:00
calxeda net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
cavium liquidio: Use pcie_flr() instead of reimplementing it 2019-08-08 22:41:02 -07:00
chelsio cxgb4: smt: Use normal int for refcount 2019-08-08 18:12:17 -07:00
cirrus
cisco
cortina net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
davicom net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
dec
dlink
emulex Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
ezchip treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 291 2019-06-05 17:36:38 +02:00
faraday net: ftgmac100: Select ASPEED MDIO driver for the AST2600 2019-08-02 17:56:28 -07:00
freescale dpaa_eth: Use refcount_t for refcount 2019-08-08 17:57:54 -07:00
fujitsu
google gve: Fix case where desc_cnt and data_cnt can get out of sync 2019-08-05 13:18:53 -07:00
hisilicon Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
hp
huawei net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
i825xx treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ibm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
intel Merge branch '40GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue 2019-08-06 14:41:45 -07:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
mediatek Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
mellanox net/mlx5e: Extend hairpin entry with reference counter 2019-08-09 14:54:08 -07:00
micrel treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
microchip net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
moxa
mscc ocelot: Cancel delayed work before wq destruction 2019-07-26 14:11:30 -07:00
myricom myri10ge: remove unneeded variable 2019-07-31 08:44:00 -07:00
natsemi
neterion ethernet: remove redundant memset 2019-07-15 11:06:27 -07:00
netronome flow_offload: move tc indirect block to flow offload 2019-08-08 18:44:30 -07:00
ni net: nixge: Spelling s/Instrument/Instruments/ 2019-08-01 13:45:49 -04:00
nuvoton net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
nvidia forcedeth: Use dev_get_drvdata where possible 2019-07-24 11:44:46 -07:00
nxp
oki-semi treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 340 2019-06-05 17:37:07 +02:00
packetengines net: packetengines: Fix manufacturer spelling and capitalization 2019-08-01 13:45:49 -04:00
pasemi net: pasemi: fix an use-after-free in pasemi_mac_phy_init() 2019-07-08 16:33:02 -07:00
qlogic qed: Add new ethtool supported port types based on media. 2019-08-08 18:14:07 -07:00
qualcomm Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2019-08-06 18:44:57 -07:00
rdc
realtek r8169: fix performance issue on RTL8168evl 2019-08-09 13:37:39 -07:00
renesas
rocker rocker: fix memory leaks of fib_work on two error return paths 2019-07-29 10:58:06 -07:00
samsung net: samsung: Spelling s/case/cause/ 2019-08-01 13:45:49 -04:00
seeq treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
sfc sfc: falcon: don't score irq moderation points for GRO 2019-08-08 18:22:29 -07:00
sgi
silan
sis sis900: add support for ethtool's EEPROM dump 2019-07-26 14:24:48 -07:00
smsc net: smc911x: Mark expected switch fall-through 2019-07-29 15:13:10 -07:00
socionext net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
stmicro net: stmmac: selftests: Add a selftest for Flexible RX Parser 2019-08-08 22:20:19 -07:00
sun net: Use skb_frag_off accessors 2019-07-30 14:21:32 -07:00
synopsys net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
tehuti net: Use skb accessors in network drivers 2019-07-22 20:47:56 -07:00
ti net: Use skb_frag_off accessors 2019-07-30 14:21:32 -07:00
toshiba net: spider_net: Mark expected switch fall-through 2019-07-29 11:12:21 -07:00
tundra
via
wiznet net: ethernet: wiznet: w5X00 add device tree support 2019-06-12 09:52:04 -07:00
xilinx net: axienet: fix a potential double free in axienet_probe() 2019-07-08 16:28:32 -07:00
xircom
xscale net: ixp4xx: Spelling s/XSacle/XScale/ 2019-08-01 13:45:49 -04:00
dnet.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
dnet.h treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
ec_bhf.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 282 2019-06-05 17:36:37 +02:00
ethoc.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 500 2019-06-19 17:09:55 +02:00
fealnx.c
jme.c net: Use skb_frag_off accessors 2019-07-30 14:21:32 -07:00
jme.h
Kconfig gve: Add basic driver framework for Compute Engine Virtual NIC 2019-07-01 19:36:35 -07:00
korina.c
lantiq_etop.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00
lantiq_xrx200.c net: Remove dev_err() usage after platform_get_irq() 2019-07-30 14:37:35 -07:00
Makefile gve: Add basic driver framework for Compute Engine Virtual NIC 2019-07-01 19:36:35 -07:00
netx-eth.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 234 2019-06-19 17:09:07 +02:00