[PATCH for-next 0/2] IB/mlx5: Use tasklet to decrease completions processing time in interrupts

Matan Barak
2016-04-17T14:08:39Z

Hi Doug,

The mlx5 driver handles completion callbacks inside interrupts.
These callbacks could be lengthy and thus cause hard lockups.
In order to avoid these lockups, we introduce a tasklet mechanism.
The mlx5_ib driver uses this mechanism in order to defer its
completion callbacks processing to the tasklet.

This follows the same mechanism we implemented for mlx4 that
successfully decreased the processing time in interrupts.

Regards,
Matan

Matan Barak (2):
net/mlx5_core: Use tasklet for user-space CQ completion events
IB/mlx5: Fire the CQ completion handler from tasklet

drivers/infiniband/hw/mlx5/cq.c | 5 +-
drivers/net/ethernet/mellanox/mlx5/core/cq.c | 59 ++++++++++++++++++++++
drivers/net/ethernet/mellanox/mlx5/core/eq.c | 12 ++++-
drivers/net/ethernet/mellanox/mlx5/core/main.c | 17 +++++++
.../net/ethernet/mellanox/mlx5/core/mlx5_core.h | 2 +
include/linux/mlx5/cq.h | 5 ++
include/linux/mlx5/driver.h | 10 ++++
7 files changed, 108 insertions(+), 2 deletions(-)

--
2.5.0