aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/infiniband/ulp
diff options
context:
space:
mode:
authorBart Van Assche <bart.vanassche@sandisk.com>2016-04-22 17:13:57 -0400
committerDoug Ledford <dledford@redhat.com>2016-05-12 14:18:56 -0400
commitfa9863f869202a4ccc673cbd8dd326bf54a8efff (patch)
tree4c10667af91f6ff373f5a6c0296e1c8eb0ad4958 /drivers/infiniband/ulp
parente012f3639c95498d4e8d7a9f44e33f1cd2f241b0 (diff)
IB/srp: Introduce target->mr_pool_size
This patch does not change any functionality. Signed-off-by: Bart Van Assche <bart.vanassche@sandisk.com> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> Cc: Christoph Hellwig <hch@lst.de> Cc: Laurence Oberman <loberman@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Doug Ledford <dledford@redhat.com>
Diffstat (limited to 'drivers/infiniband/ulp')
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.c6
-rw-r--r--drivers/infiniband/ulp/srp/ib_srp.h1
2 files changed, 4 insertions, 3 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.c b/drivers/infiniband/ulp/srp/ib_srp.c
index 47e753d9ab5b..92d2d98c9831 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.c
+++ b/drivers/infiniband/ulp/srp/ib_srp.c
@@ -316,7 +316,7 @@ static struct ib_fmr_pool *srp_alloc_fmr_pool(struct srp_target_port *target)
316 struct ib_fmr_pool_param fmr_param; 316 struct ib_fmr_pool_param fmr_param;
317 317
318 memset(&fmr_param, 0, sizeof(fmr_param)); 318 memset(&fmr_param, 0, sizeof(fmr_param));
319 fmr_param.pool_size = target->scsi_host->can_queue; 319 fmr_param.pool_size = target->mr_pool_size;
320 fmr_param.dirty_watermark = fmr_param.pool_size / 4; 320 fmr_param.dirty_watermark = fmr_param.pool_size / 4;
321 fmr_param.cache = 1; 321 fmr_param.cache = 1;
322 fmr_param.max_pages_per_fmr = dev->max_pages_per_mr; 322 fmr_param.max_pages_per_fmr = dev->max_pages_per_mr;
@@ -441,8 +441,7 @@ static struct srp_fr_pool *srp_alloc_fr_pool(struct srp_target_port *target)
441{ 441{
442 struct srp_device *dev = target->srp_host->srp_dev; 442 struct srp_device *dev = target->srp_host->srp_dev;
443 443
444 return srp_create_fr_pool(dev->dev, dev->pd, 444 return srp_create_fr_pool(dev->dev, dev->pd, target->mr_pool_size,
445 target->scsi_host->can_queue,
446 dev->max_pages_per_mr); 445 dev->max_pages_per_mr);
447} 446}
448 447
@@ -3229,6 +3228,7 @@ static ssize_t srp_create_target(struct device *dev,
3229 } 3228 }
3230 3229
3231 target_host->sg_tablesize = target->sg_tablesize; 3230 target_host->sg_tablesize = target->sg_tablesize;
3231 target->mr_pool_size = target->scsi_host->can_queue;
3232 target->indirect_size = target->sg_tablesize * 3232 target->indirect_size = target->sg_tablesize *
3233 sizeof (struct srp_direct_buf); 3233 sizeof (struct srp_direct_buf);
3234 target->max_iu_len = sizeof (struct srp_cmd) + 3234 target->max_iu_len = sizeof (struct srp_cmd) +
diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h
index 9e05ce4a04fd..a00914cdd44e 100644
--- a/drivers/infiniband/ulp/srp/ib_srp.h
+++ b/drivers/infiniband/ulp/srp/ib_srp.h
@@ -202,6 +202,7 @@ struct srp_target_port {
202 char target_name[32]; 202 char target_name[32];
203 unsigned int scsi_id; 203 unsigned int scsi_id;
204 unsigned int sg_tablesize; 204 unsigned int sg_tablesize;
205 int mr_pool_size;
205 int queue_size; 206 int queue_size;
206 int req_ring_size; 207 int req_ring_size;
207 int comp_vector; 208 int comp_vector;