linux_dsm_epyc7002/drivers/net/ethernet
Matan Barak 3dca0f42c7 net/mlx4_core: Use tasklet for user-space CQ completion events
Previously, we've fired all our completion callbacks straight from our ISR.

Some of those callbacks were lightweight (for example, mlx4_en's and
IPoIB napi callbacks), but some of them did more work (for example,
the user-space RDMA stack uverbs' completion handler). Besides that,
doing more than the minimal work in ISR is generally considered wrong,
it could even lead to a hard lockup of the system. Since when a lot
of completion events are generated by the hardware, the loop over those
events could be so long, that we'll get into a hard lockup by the system
watchdog.

In order to avoid that, add a new way of invoking completion events
callbacks. In the interrupt itself, we add the CQs which receive completion
event to a per-EQ list and schedule a tasklet. In the tasklet context
we loop over all the CQs in the list and invoke the user callback.

Signed-off-by: Matan Barak <matanb@mellanox.com>
Signed-off-by: Or Gerlitz <ogerlitz@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-12-11 14:47:34 -05:00
..
3com net: typhoon: Remove redundant casts 2014-10-24 00:41:31 -04:00
8390
adaptec
adi net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
aeroflex
agere et131x: Add PCIe gigabit ethernet driver et131x to drivers/net 2014-10-03 12:22:19 -07:00
allwinner net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
alteon
altera Altera TSE: Add support for no PHY 2014-10-05 21:39:40 -04:00
amd Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
apm Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-11-06 22:01:18 -05:00
apple
arc Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-09-23 12:09:27 -04:00
atheros
broadcom Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
brocade bna: use netdev_rss_key_fill() helper 2014-11-16 15:59:11 -05:00
cadence net: macb: Remove obsolete comment from Kconfig 2014-12-09 15:39:38 -05:00
calxeda net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
chelsio cxgb4/csiostor: Don't use MASTER_MUST for fw_hello call 2014-12-11 14:25:17 -05:00
cirrus cirrus/mac89x0: Remove superfluous interrupt disable/restore 2014-10-24 00:43:28 -04:00
cisco enic: add support for set/get rss hash key 2014-12-10 14:41:48 -05:00
davicom net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
dec uli526x: fix misspelling of current function in string 2014-12-09 16:18:46 -05:00
dlink
emulex be2net: Export tunnel offloads only when a VxLAN tunnel is created 2014-12-11 14:37:24 -05:00
faraday
freescale gianfar: Fix dma check map error when DMA_API_DEBUG is enabled 2014-12-11 14:27:14 -05:00
fujitsu
hisilicon
hp hp100: fix misspelling of current function in string 2014-12-09 16:18:47 -05:00
i825xx
ibm IBM-EMAC: Deletion of unnecessary checks before the function call "of_dev_put" 2014-11-21 15:14:12 -05:00
icplus
intel ethernet/intel: Use napi_alloc_skb 2014-12-10 13:31:57 -05:00
marvell Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
mellanox net/mlx4_core: Use tasklet for user-space CQ completion events 2014-12-11 14:47:34 -05:00
micrel net: ks8842: use dmaengine_terminate_all() API 2014-10-15 21:31:00 +05:30
microchip
moxa net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
myricom myri10ge: use eth_skb_pad helper 2014-12-08 20:47:42 -05:00
natsemi natsemi/macsonic: Remove superfluous interrupt disable/restore 2014-10-24 00:43:28 -04:00
neterion
nuvoton net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
nvidia
nxp net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
octeon
oki-semi pch_gbe: 'select' NET_PTP_CLASSIFY. 2014-09-22 13:25:51 -04:00
packetengines
pasemi net-PA Semi: Deletion of unnecessary checks before the function call "pci_dev_put" 2014-12-05 21:14:20 -08:00
qlogic net: rename netdev_phys_port_id to more generic name 2014-12-02 20:01:19 -08:00
qualcomm net: qualcomm: Fix dependency 2014-11-11 18:12:32 -05:00
rdc
realtek ethernet/realtek: use napi_alloc_skb instead of netdev_alloc_skb_ip_align 2014-12-10 13:31:57 -05:00
renesas Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
rocker rocker: remove swdev mode 2014-12-09 18:24:47 -05:00
samsung ethernet: samsung: sxgbe: remove unnecessary check 2014-10-27 19:16:02 -04:00
seeq
sfc ethtool: Support for configurable RSS hash function 2014-12-08 21:07:10 -05:00
sgi
silan
sis
smsc net/smsc911x: Add minimal runtime PM support 2014-11-24 16:41:50 -05:00
stmicro Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2014-12-10 15:48:20 -05:00
sun sunvnet: fix incorrect rcu_read_unlock() in vnet_start_xmit() 2014-12-08 21:55:01 -05:00
tehuti
ti drivers: net : cpsw: Update Kconfig for CPSW 2014-12-09 13:44:16 -05:00
tile Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu 2014-10-15 07:48:18 +02:00
toshiba net: spider_net: avoid using signed char for bitops 2014-10-05 21:15:16 -04:00
tundra
via Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2014-10-07 21:16:26 -04:00
wiznet ethernet: wiznet: remove unnecessary check 2014-10-27 19:16:01 -04:00
xilinx net: Xilinx: Deletion of unnecessary checks before two function calls 2014-11-21 15:14:12 -05:00
xircom
xscale
dnet.c
dnet.h
ec_bhf.c
ethoc.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
fealnx.c
jme.c
jme.h
Kconfig rocker: introduce rocker switch driver 2014-12-02 20:01:24 -08:00
korina.c
lantiq_etop.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
Makefile rocker: introduce rocker switch driver 2014-12-02 20:01:24 -08:00
netx-eth.c net: ethernet: Remove superfluous ether_setup after alloc_etherdev 2014-10-03 15:31:40 -07:00
s6gmac.c