linux-stable/drivers/infiniband/hw
Maher Sanalla f14c1a14e6 net/mlx5: Allocate completion EQs dynamically
This commit enables the dynamic allocation of EQs at runtime, allowing
for more flexibility in managing completion EQs and reducing the memory
overhead of driver load. Whenever a CQ is created for a given vector
index, the driver will lookup to see if there is an already mapped
completion EQ for that vector, if so, utilize it. Otherwise, allocate a
new EQ on demand and then utilize it for the CQ completion events.

Add a protection lock to the EQ table to protect from concurrent EQ
creation attempts.

While at it, replace mlx5_vector2irqn()/mlx5_vector2eqn() with
mlx5_comp_eqn_get() and mlx5_comp_irqn_get() which will allocate an
EQ on demand if no EQ is found for the given vector.

Signed-off-by: Maher Sanalla <msanalla@nvidia.com>
Reviewed-by: Shay Drory <shayd@nvidia.com>
Reviewed-by: Moshe Shemesh <moshe@nvidia.com>
Signed-off-by: Saeed Mahameed <saeedm@nvidia.com>
2023-08-07 10:53:52 -07:00
..
bnxt_re RDMA/bnxt_re: Fix hang during driver unload 2023-07-17 08:02:13 +03:00
cxgb4 iw_cxgb4: Fix potential NULL dereference in c4iw_fill_res_cm_id_entry() 2023-02-15 13:37:37 +02:00
efa RDMA/efa: Fix unsupported page sizes in device 2023-05-16 21:13:22 -03:00
erdma RDMA/erdma: Refactor the original doorbell allocation mechanism 2023-06-11 11:57:01 +03:00
hfi1 IB/hfi1: Remove unused struct mmu_rb_ops fields .insert, .invalidate 2023-06-01 14:45:58 -03:00
hns Linux 6.4 2023-06-27 14:06:29 -03:00
irdma RDMA/irdma: Report correct WC error 2023-07-26 14:58:42 +03:00
mana RDMA/mana_ib: Use v2 version of cfg_rx_steer_req to enable RX coalescing 2023-06-01 12:52:01 -03:00
mlx4 RDMA/mlx4: Make check for invalid flags stricter 2023-07-12 15:41:27 +03:00
mlx5 net/mlx5: Allocate completion EQs dynamically 2023-08-07 10:53:52 -07:00
mthca RDMA/mthca: Fix crash when polling CQ for shared QPs 2023-07-17 08:02:13 +03:00
ocrdma RDMA/ocrdma: remove unused discard_cnt variable 2023-03-29 14:05:38 +03:00
qedr Linux 6.1-rc8 2022-12-09 15:52:17 -04:00
qib mm/gup: remove vmas parameter from pin_user_pages() 2023-06-09 16:25:26 -07:00
usnic mm/gup: remove vmas parameter from pin_user_pages() 2023-06-09 16:25:26 -07:00
vmw_pvrdma RDMA/vmw_pvrdma: Remove unnecessary check on wr->opcode 2023-06-09 14:11:53 -03:00
Makefile RDMA/mana_ib: Add a driver for Microsoft Azure Network Adapter 2022-11-11 11:40:09 +02:00