aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/hw/mlx5/qp.c
diff options
context:
space:
mode:
authorEli Cohen <eli@dev.mellanox.co.il>2013-10-23 02:53:14 -0400
committerRoland Dreier <roland@purestorage.com>2013-11-08 17:42:59 -0500
commit746b5583c1a48a837f4891adaff5e09d61b204a6 (patch)
treec939fde4e644095bcf476787aebe031f20150d0c /drivers/infiniband/hw/mlx5/qp.c
parent51ee86a4af639e4ee8953dd02ad8a766c40f46a1 (diff)
IB/mlx5: Multithreaded create MR
Use asynchronous commands to execute up to eight concurrent create MR commands. This is to fill memory caches faster so we keep consuming from there. Also, increase timeout for shrinking caches to five minutes. Signed-off-by: Eli Cohen <eli@mellanox.com> Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/hw/mlx5/qp.c')
-rw-r--r--drivers/infiniband/hw/mlx5/qp.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/infiniband/hw/mlx5/qp.c b/drivers/infiniband/hw/mlx5/qp.c
index 5659ea880741..e3881433f5d7 100644
--- a/drivers/infiniband/hw/mlx5/qp.c
+++ b/drivers/infiniband/hw/mlx5/qp.c
@@ -1744,6 +1744,7 @@ static void set_reg_umr_segment(struct mlx5_wqe_umr_ctrl_seg *umr,
1744 MLX5_MKEY_MASK_PD | 1744 MLX5_MKEY_MASK_PD |
1745 MLX5_MKEY_MASK_LR | 1745 MLX5_MKEY_MASK_LR |
1746 MLX5_MKEY_MASK_LW | 1746 MLX5_MKEY_MASK_LW |
1747 MLX5_MKEY_MASK_KEY |
1747 MLX5_MKEY_MASK_RR | 1748 MLX5_MKEY_MASK_RR |
1748 MLX5_MKEY_MASK_RW | 1749 MLX5_MKEY_MASK_RW |
1749 MLX5_MKEY_MASK_A | 1750 MLX5_MKEY_MASK_A |
@@ -1800,7 +1801,8 @@ static void set_reg_mkey_segment(struct mlx5_mkey_seg *seg, struct ib_send_wr *w
1800 seg->start_addr = cpu_to_be64(wr->wr.fast_reg.iova_start); 1801 seg->start_addr = cpu_to_be64(wr->wr.fast_reg.iova_start);
1801 seg->len = cpu_to_be64(wr->wr.fast_reg.length); 1802 seg->len = cpu_to_be64(wr->wr.fast_reg.length);
1802 seg->log2_page_size = wr->wr.fast_reg.page_shift; 1803 seg->log2_page_size = wr->wr.fast_reg.page_shift;
1803 seg->qpn_mkey7_0 = cpu_to_be32(0xffffff << 8); 1804 seg->qpn_mkey7_0 = cpu_to_be32(0xffffff00 |
1805 mlx5_mkey_variant(wr->wr.fast_reg.rkey));
1804} 1806}
1805 1807
1806static void set_frwr_pages(struct mlx5_wqe_data_seg *dseg, 1808static void set_frwr_pages(struct mlx5_wqe_data_seg *dseg,