aboutsummaryrefslogtreecommitdiffstats
path: root/net/rds/ib.c
diff options
context:
space:
mode:
authorAndy Grover <andy.grover@oracle.com>2010-01-12 10:50:48 -0800
committerAndy Grover <andy.grover@oracle.com>2010-09-08 18:11:42 -0700
commit40589e74f7ba855f3a887c9d4abe9d100c5b039c (patch)
treef32b0414ae3cfe8868fbdb130f9b24ac19794ae3 /net/rds/ib.c
parentRDS: Implement atomic operations (diff)
downloadlinux-dev-40589e74f7ba855f3a887c9d4abe9d100c5b039c.tar.xz
linux-dev-40589e74f7ba855f3a887c9d4abe9d100c5b039c.zip
RDS: Base init_depth and responder_resources on hw values
Instead of using a constant for initiator_depth and responder_resources, read the per-QP values when the device is enumerated, and then use these values when creating the connection. Signed-off-by: Andy Grover <andy.grover@oracle.com>
Diffstat (limited to 'net/rds/ib.c')
-rw-r--r--net/rds/ib.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/rds/ib.c b/net/rds/ib.c
index f0d29656baff..72a5116c11de 100644
--- a/net/rds/ib.c
+++ b/net/rds/ib.c
@@ -91,6 +91,9 @@ void rds_ib_add_one(struct ib_device *device)
min_t(unsigned int, dev_attr->max_fmr, fmr_pool_size) :
fmr_pool_size;
+ rds_ibdev->max_initiator_depth = dev_attr->max_qp_init_rd_atom;
+ rds_ibdev->max_responder_resources = dev_attr->max_qp_rd_atom;
+
rds_ibdev->dev = device;
rds_ibdev->pd = ib_alloc_pd(device);
if (IS_ERR(rds_ibdev->pd))