Commit 7854550a authored by Steve Wise's avatar Steve Wise Committed by Doug Ledford

RDMA/iser: Limit sgs to the device fastreg depth

Currently the sg tablesize, which dictates fast register page list
depth to use, does not take into account the limits of the rdma device.
So adjust it once we discover the device fastreg max depth limit.  Also
adjust the max_sectors based on the resulting sg tablesize.
Signed-off-by: default avatarSteve Wise <swise@opengridcomputing.com>
Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
parent d6c7276b
...@@ -640,6 +640,15 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep, ...@@ -640,6 +640,15 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep,
SHOST_DIX_GUARD_CRC); SHOST_DIX_GUARD_CRC);
} }
/*
* Limit the sg_tablesize and max_sectors based on the device
* max fastreg page list length.
*/
shost->sg_tablesize = min_t(unsigned short, shost->sg_tablesize,
ib_conn->device->dev_attr.max_fast_reg_page_list_len);
shost->max_sectors = min_t(unsigned int,
1024, (shost->sg_tablesize * PAGE_SIZE) >> 9);
if (iscsi_host_add(shost, if (iscsi_host_add(shost,
ib_conn->device->ib_device->dma_device)) { ib_conn->device->ib_device->dma_device)) {
mutex_unlock(&iser_conn->state_mutex); mutex_unlock(&iser_conn->state_mutex);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment