1
0
Fork 0
alistair23-linux/drivers/net/ethernet/mellanox/mlx4
Ido Shamay 07841f9d94 net/mlx4_en: Schedule napi when RX buffers allocation fails
When system is out of memory, refilling of RX buffers fails while
the driver continue to pass the received packets to the kernel stack.
At some point, when all RX buffers deplete, driver may fall into a
sleep, and not recover when memory for new RX buffers is once again
availible. This is because hardware does not have valid descriptors,
so no interrupt will be generated for the driver to return to work
in napi context. Fix it by schedule the napi poll function from
stats_task delayed workqueue, as long as the allocations fail.

Signed-off-by: Ido Shamay <idos@mellanox.com>
Signed-off-by: Amir Vadai <amirv@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2015-04-30 16:47:50 -04:00
..
Kconfig net/mlx4: Set proper build dependancy with vxlan 2014-04-01 16:25:51 -04:00
Makefile net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
alloc.c net: Mellanox: Delete unnecessary checks before the function call "vunmap" 2015-02-09 14:10:05 -08:00
catas.c net/mlx4_core: Enable device recovery flow with SRIOV 2015-01-25 14:43:14 -08:00
cmd.c net/mlx4_core: Return the admin alias GUID upon host view request 2015-04-15 15:51:50 -04:00
cq.c net/mlx4_core: Use tasklet for user-space CQ completion events 2014-12-11 14:47:34 -05:00
en_clock.c ptp: mlx4: use helpers for converting ns to timespec. 2015-03-31 17:19:19 -04:00
en_cq.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
en_dcb_nl.c net/mlx4: New file for QoS related firmware commands 2015-04-02 16:25:02 -04:00
en_ethtool.c net/mlx4_en: Prevent setting invalid RSS hash function 2015-04-27 13:36:48 -04:00
en_main.c net/mlx4_en: Change loopback only upon feature change 2015-04-02 16:24:51 -04:00
en_netdev.c net/mlx4_en: Schedule napi when RX buffers allocation fails 2015-04-30 16:47:50 -04:00
en_port.c net/mlx4_en: Moderate ethtool callback to show more statistics 2015-03-31 16:36:51 -04:00
en_port.h net/mlx4_en: Use PTYS register to query ethtool settings 2014-10-28 17:18:00 -04:00
en_resources.c net/mlx4_core: Port aggregation upper layer interface 2015-02-04 16:14:24 -08:00
en_rx.c net/mlx4_en: Schedule napi when RX buffers allocation fails 2015-04-30 16:47:50 -04:00
en_selftest.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2015-03-03 21:16:48 -05:00
en_tx.c mlx4: Fix tx ring affinity_mask creation 2015-04-29 15:16:57 -04:00
eq.c net/mlx4_core: Raise slave shutdown event upon FLR 2015-04-15 15:51:50 -04:00
fw.c net/mlx4_core: Fix unaligned accesses 2015-04-30 16:26:30 -04:00
fw.h net/mlx4: Add RSS support for fragmented IP datagrams 2015-04-02 16:24:50 -04:00
fw_qos.c net/mlx4: Add mlx4_SET_VPORT_QOS implementation 2015-04-02 16:25:02 -04:00
fw_qos.h net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
icm.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
icm.h mlx4_core: Fix GFP flags parameters to be gfp_t 2014-06-04 10:19:13 -07:00
intf.c net/mlx4_core: Port aggregation upper layer interface 2015-02-04 16:14:24 -08:00
main.c net/mlx4_core: Set initial admin GUIDs for VFs 2015-04-15 15:51:50 -04:00
mcg.c net/mlx4_core: Reset flow activation upon SRIOV fatal command cases 2015-01-25 14:43:15 -08:00
mlx4.h net/mlx4_core: Manage alias GUID per VF 2015-04-15 15:51:50 -04:00
mlx4_en.h net/mlx4_en: Schedule napi when RX buffers allocation fails 2015-04-30 16:47:50 -04:00
mlx4_stats.h net/mlx4_en: Moderate ethtool callback to show more statistics 2015-03-31 16:36:51 -04:00
mr.c net/mlx4_core: Fix mpt_entry initialization in mlx4_mr_rereg_mem_write() 2015-02-04 16:17:45 -08:00
pd.c net/mlx4_core: Remove duplicate code line from procedure mlx4_bf_alloc 2015-01-27 17:12:57 -08:00
port.c net/mlx4_en: Add RX-ALL support 2015-04-02 16:25:04 -04:00
profile.c net/mlx4_core: Flexible (asymmetric) allocation of EQs and MSI-X vectors for PF/VFs 2014-11-13 15:16:21 -05:00
qp.c net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
reset.c net/mlx4_core: Maintain a persistent memory for mlx4 device 2015-01-25 14:43:13 -08:00
resource_tracker.c net/mlx4: Added qos_vport QP configuration in VST mode 2015-04-02 16:25:03 -04:00
sense.c Merge branch 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq 2012-10-02 09:54:49 -07:00
srq.c IB/mlx4: Implement IB_QP_CREATE_USE_GFP_NOIO 2014-06-02 14:58:11 -07:00