summaryrefslogtreecommitdiffstats
path: root/net/rds/ib.c
diff options
context:
space:
mode:
authorsantosh.shilimkar@oracle.com <santosh.shilimkar@oracle.com>2016-03-01 18:20:46 -0500
committerDavid S. Miller <davem@davemloft.net>2016-03-02 14:13:18 -0500
commitf6df683f32f09f8c0c440bdd3741a1e7dc7927fe (patch)
tree50943051423e033f9319a0f198d6316bfa9f596b /net/rds/ib.c
parentdcfd041c8710320d59fce322fd901bddaf912ae8 (diff)
RDS: IB: Re-organise ibmr code
No functional changes. This is in preperation towards adding fastreg memory resgitration support. Signed-off-by: Santosh Shilimkar <ssantosh@kernel.org> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@oracle.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/rds/ib.c')
-rw-r--r--net/rds/ib.c37
1 files changed, 19 insertions, 18 deletions
diff --git a/net/rds/ib.c b/net/rds/ib.c
index 9481d55ff6cb..bb32cb9d85f1 100644
--- a/net/rds/ib.c
+++ b/net/rds/ib.c
@@ -42,15 +42,16 @@
42 42
43#include "rds.h" 43#include "rds.h"
44#include "ib.h" 44#include "ib.h"
45#include "ib_mr.h"
45 46
46unsigned int rds_ib_fmr_1m_pool_size = RDS_FMR_1M_POOL_SIZE; 47unsigned int rds_ib_mr_1m_pool_size = RDS_MR_1M_POOL_SIZE;
47unsigned int rds_ib_fmr_8k_pool_size = RDS_FMR_8K_POOL_SIZE; 48unsigned int rds_ib_mr_8k_pool_size = RDS_MR_8K_POOL_SIZE;
48unsigned int rds_ib_retry_count = RDS_IB_DEFAULT_RETRY_COUNT; 49unsigned int rds_ib_retry_count = RDS_IB_DEFAULT_RETRY_COUNT;
49 50
50module_param(rds_ib_fmr_1m_pool_size, int, 0444); 51module_param(rds_ib_mr_1m_pool_size, int, 0444);
51MODULE_PARM_DESC(rds_ib_fmr_1m_pool_size, " Max number of 1M fmr per HCA"); 52MODULE_PARM_DESC(rds_ib_mr_1m_pool_size, " Max number of 1M mr per HCA");
52module_param(rds_ib_fmr_8k_pool_size, int, 0444); 53module_param(rds_ib_mr_8k_pool_size, int, 0444);
53MODULE_PARM_DESC(rds_ib_fmr_8k_pool_size, " Max number of 8K fmr per HCA"); 54MODULE_PARM_DESC(rds_ib_mr_8k_pool_size, " Max number of 8K mr per HCA");
54module_param(rds_ib_retry_count, int, 0444); 55module_param(rds_ib_retry_count, int, 0444);
55MODULE_PARM_DESC(rds_ib_retry_count, " Number of hw retries before reporting an error"); 56MODULE_PARM_DESC(rds_ib_retry_count, " Number of hw retries before reporting an error");
56 57
@@ -140,13 +141,13 @@ static void rds_ib_add_one(struct ib_device *device)
140 rds_ibdev->max_sge = min(device->attrs.max_sge, RDS_IB_MAX_SGE); 141 rds_ibdev->max_sge = min(device->attrs.max_sge, RDS_IB_MAX_SGE);
141 142
142 rds_ibdev->fmr_max_remaps = device->attrs.max_map_per_fmr?: 32; 143 rds_ibdev->fmr_max_remaps = device->attrs.max_map_per_fmr?: 32;
143 rds_ibdev->max_1m_fmrs = device->attrs.max_mr ? 144 rds_ibdev->max_1m_mrs = device->attrs.max_mr ?
144 min_t(unsigned int, (device->attrs.max_mr / 2), 145 min_t(unsigned int, (device->attrs.max_mr / 2),
145 rds_ib_fmr_1m_pool_size) : rds_ib_fmr_1m_pool_size; 146 rds_ib_mr_1m_pool_size) : rds_ib_mr_1m_pool_size;
146 147
147 rds_ibdev->max_8k_fmrs = device->attrs.max_mr ? 148 rds_ibdev->max_8k_mrs = device->attrs.max_mr ?
148 min_t(unsigned int, ((device->attrs.max_mr / 2) * RDS_MR_8K_SCALE), 149 min_t(unsigned int, ((device->attrs.max_mr / 2) * RDS_MR_8K_SCALE),
149 rds_ib_fmr_8k_pool_size) : rds_ib_fmr_8k_pool_size; 150 rds_ib_mr_8k_pool_size) : rds_ib_mr_8k_pool_size;
150 151
151 rds_ibdev->max_initiator_depth = device->attrs.max_qp_init_rd_atom; 152 rds_ibdev->max_initiator_depth = device->attrs.max_qp_init_rd_atom;
152 rds_ibdev->max_responder_resources = device->attrs.max_qp_rd_atom; 153 rds_ibdev->max_responder_resources = device->attrs.max_qp_rd_atom;
@@ -172,10 +173,10 @@ static void rds_ib_add_one(struct ib_device *device)
172 goto put_dev; 173 goto put_dev;
173 } 174 }
174 175
175 rdsdebug("RDS/IB: max_mr = %d, max_wrs = %d, max_sge = %d, fmr_max_remaps = %d, max_1m_fmrs = %d, max_8k_fmrs = %d\n", 176 rdsdebug("RDS/IB: max_mr = %d, max_wrs = %d, max_sge = %d, fmr_max_remaps = %d, max_1m_mrs = %d, max_8k_mrs = %d\n",
176 device->attrs.max_fmr, rds_ibdev->max_wrs, rds_ibdev->max_sge, 177 device->attrs.max_fmr, rds_ibdev->max_wrs, rds_ibdev->max_sge,
177 rds_ibdev->fmr_max_remaps, rds_ibdev->max_1m_fmrs, 178 rds_ibdev->fmr_max_remaps, rds_ibdev->max_1m_mrs,
178 rds_ibdev->max_8k_fmrs); 179 rds_ibdev->max_8k_mrs);
179 180
180 INIT_LIST_HEAD(&rds_ibdev->ipaddr_list); 181 INIT_LIST_HEAD(&rds_ibdev->ipaddr_list);
181 INIT_LIST_HEAD(&rds_ibdev->conn_list); 182 INIT_LIST_HEAD(&rds_ibdev->conn_list);
@@ -364,7 +365,7 @@ void rds_ib_exit(void)
364 rds_ib_sysctl_exit(); 365 rds_ib_sysctl_exit();
365 rds_ib_recv_exit(); 366 rds_ib_recv_exit();
366 rds_trans_unregister(&rds_ib_transport); 367 rds_trans_unregister(&rds_ib_transport);
367 rds_ib_fmr_exit(); 368 rds_ib_mr_exit();
368} 369}
369 370
370struct rds_transport rds_ib_transport = { 371struct rds_transport rds_ib_transport = {
@@ -400,13 +401,13 @@ int rds_ib_init(void)
400 401
401 INIT_LIST_HEAD(&rds_ib_devices); 402 INIT_LIST_HEAD(&rds_ib_devices);
402 403
403 ret = rds_ib_fmr_init(); 404 ret = rds_ib_mr_init();
404 if (ret) 405 if (ret)
405 goto out; 406 goto out;
406 407
407 ret = ib_register_client(&rds_ib_client); 408 ret = ib_register_client(&rds_ib_client);
408 if (ret) 409 if (ret)
409 goto out_fmr_exit; 410 goto out_mr_exit;
410 411
411 ret = rds_ib_sysctl_init(); 412 ret = rds_ib_sysctl_init();
412 if (ret) 413 if (ret)
@@ -430,8 +431,8 @@ out_sysctl:
430 rds_ib_sysctl_exit(); 431 rds_ib_sysctl_exit();
431out_ibreg: 432out_ibreg:
432 rds_ib_unregister_client(); 433 rds_ib_unregister_client();
433out_fmr_exit: 434out_mr_exit:
434 rds_ib_fmr_exit(); 435 rds_ib_mr_exit();
435out: 436out:
436 return ret; 437 return ret;
437} 438}