mirror of https://gitee.com/openkylin/linux.git
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: Steve Wise <swise@opengridcomputing.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
parent
d6c7276be1
commit
7854550ae6
|
@ -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);
|
||||||
|
|
Loading…
Reference in New Issue