linux/drivers/net
Matan Barak 94c6825e0f net/mlx5_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, mlx5 Ethernet
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: Doug Ledford <dledford@redhat.com>
2016-05-18 10:45:49 -04:00
..
appletalk
arcnet
bonding bonding: fix bond_get_stats() 2016-03-18 23:14:15 -04:00
caif
can can: rcar_can: Add r8a7795 support 2016-03-10 10:30:21 +01:00
cris
dsa net: dsa: mv88e6xxx: share the same default FDB 2016-04-16 19:07:10 -04:00
ethernet net/mlx5_core: Use tasklet for user-space CQ completion events 2016-05-18 10:45:49 -04:00
fddi defxx: fix build warning 2016-01-25 10:51:52 -08:00
fjes
hamradio dmascc: Return correct error codes 2016-02-16 15:32:34 -05:00
hippi
hyperv hv_netvsc: Fix the order of num_sc_offered decrement 2016-03-23 21:51:08 -04:00
ieee802154 mrf24j40: add writeable missing reg 2016-02-23 20:29:40 +01:00
ipvlan vlan: propagate gso_max_segs 2016-03-17 21:05:01 -04:00
irda Merge 4.5-rc4 into tty-next 2016-02-14 14:36:04 -08:00
phy net: phy: spi_ks8895: Don't leak references to SPI devices 2016-04-21 15:00:27 -04:00
plip
ppp ppp: take reference on channels netns 2016-03-23 14:35:31 -04:00
slip
team team: team should sync the port's uc/mc addrs when add a port 2016-03-30 17:06:58 -04:00
usb cdc_mbim: apply "NDP to end" quirk to all Huawei devices 2016-04-14 21:04:04 -04:00
vmxnet3 Driver: Vmxnet3: set CHECKSUM_UNNECESSARY for IPv6 packets 2016-04-21 15:28:05 -04:00
wan farsync: fix off-by-one bug in fst_add_one 2016-03-14 13:09:49 -04:00
wimax
wireless Merge tag 'iwlwifi-for-kalle-2016-03-30' of https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/iwlwifi-fixes 2016-04-02 17:59:57 +03:00
xen-netback xen-netback: reduce log spam 2016-03-13 22:08:01 -04:00
Kconfig net: dummy: remove note about being Y by default 2016-04-26 01:11:55 -04:00
LICENSE.SRC
Makefile macsec: introduce IEEE 802.1AE driver 2016-03-13 22:40:24 -04:00
Space.c
dummy.c
eql.c
geneve.c geneve: fix populating tclass in geneve_get_v6_dst 2016-03-20 13:44:34 -04:00
ifb.c
loopback.c
macsec.c macsec: fix netlink attribute validation 2016-04-24 14:31:59 -04:00
macvlan.c vlan: propagate gso_max_segs 2016-03-17 21:05:01 -04:00
macvtap.c macvtap: always pass ethernet header in linear 2016-03-11 14:45:21 -05:00
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c rapidio/rionet: add mport removal handling 2016-03-22 15:36:02 -07:00
sb1000.c
sungem_phy.c
tun.c tuntap: restore default qdisc 2016-04-08 15:52:45 -04:00
veth.c veth: implement ndo_set_rx_headroom 2016-03-01 15:54:31 -05:00
virtio_net.c virtio/vhost: new features, performance improvements, cleanups 2016-03-20 13:28:18 -07:00
vrf.c net: vrf: Fix dst reference counting 2016-04-11 15:56:20 -04:00
vxlan.c vxlan: fix too large pskb_may_pull with remote checksum 2016-03-21 13:32:19 -04:00
xen-netfront.c xen-netfront: request Tx response events more often 2016-01-28 16:08:55 -08:00