android_kernel_msm-6.1_noth.../include/linux/mlx5
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
..
cmd.h
cq.h net/mlx5_core: Use tasklet for user-space CQ completion events 2016-05-18 10:45:49 -04:00
device.h IB/mlx5: Expose correct max_sge_rd limit 2016-04-28 10:49:17 -04:00
doorbell.h
driver.h net/mlx5_core: Use tasklet for user-space CQ completion events 2016-05-18 10:45:49 -04:00
fs.h net/mlx5_core: Introduce forward to next priority action 2016-03-10 09:22:06 -05:00
mlx5_ifc.h net/mlx5: Update mlx5_ifc hardware features 2016-05-12 14:20:47 -04:00
port.h net/mlx5e: Device's mtu field is u16 and not int 2016-04-24 14:51:38 -04:00
qp.h net/mlx5: Refactor mlx5_core_mr to mkey 2016-03-01 11:18:37 -05:00
srq.h
transobj.h IB/mlx5: Support setting Ethernet priority for Raw Packet QPs 2016-01-21 12:01:09 -05:00
vport.h net/mlx5e: Use vport MTU rather than physical port MTU 2016-04-24 14:51:39 -04:00