net/mlx5: Use a single IRQ for all async EQs
authorAriel Levkovich <lariel@mellanox.com>
Mon, 10 Jun 2019 23:38:41 +0000 (23:38 +0000)
committerSaeed Mahameed <saeedm@mellanox.com>
Thu, 13 Jun 2019 17:59:49 +0000 (10:59 -0700)
commit81bfa206032a67f0700459a64a5493c246629604
treec66db1bc1d8863bb9566feb5fd23fce6197e0b7c
parentcf49f41d29467ccec16b12f77475cc217132c572
net/mlx5: Use a single IRQ for all async EQs

The patch modifies the IRQ allocation so that all async EQs are
assigned to the same IRQ resulting in more available IRQs for
completion EQs.

The changes are using the support for IRQ sharing and EQ polling budget
that was introduced in previous patches so when the shared interrupt is
triggered, the kernel will serially call the handler of each of the
sharing EQs with a certain budget of EQEs to poll in order to prevent
starvation.

Signed-off-by: Ariel Levkovich <lariel@mellanox.com>
Signed-off-by: Saeed Mahameed <saeedm@mellanox.com>
drivers/infiniband/hw/mlx5/odp.c
drivers/net/ethernet/mellanox/mlx5/core/eq.c
drivers/net/ethernet/mellanox/mlx5/core/pci_irq.c
include/linux/mlx5/eq.h