Message ID | 20150702151619.12946.79500.stgit@build.ogc.int (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
On 7/2/2015 6:16 PM, Steve Wise wrote: > 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> > Reviewed-by: Sagi Grimberg <sagig@mellanox.com> > --- > drivers/infiniband/ulp/iser/iscsi_iser.c | 9 +++++++++ > 1 files changed, 9 insertions(+), 0 deletions(-) > > diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c > index 6a594aa..0ed8638 100644 > --- a/drivers/infiniband/ulp/iser/iscsi_iser.c > +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c > @@ -640,6 +640,15 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep, > 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(u32, shost->sg_tablesize, > + ib_conn->device->dev_attr.max_fast_reg_page_list_len); > + shost->max_sectors = > + min(1024, (shost->sg_tablesize * PAGE_SIZE) >> 9); > + Steve, This triggers a compilation warning: drivers/infiniband/ulp/iser/iscsi_iser.c: In function iscsi_iser_session_create: drivers/infiniband/ulp/iser/iscsi_iser.c:653: warning: comparison of distinct pointer types lacks a cast For next time, let's remove the reviewed-by tags and I'll re-review the patches. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 7/5/2015 4:57 AM, Sagi Grimberg wrote: > On 7/2/2015 6:16 PM, Steve Wise wrote: >> 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> >> Reviewed-by: Sagi Grimberg <sagig@mellanox.com> >> --- >> drivers/infiniband/ulp/iser/iscsi_iser.c | 9 +++++++++ >> 1 files changed, 9 insertions(+), 0 deletions(-) >> >> diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c >> b/drivers/infiniband/ulp/iser/iscsi_iser.c >> index 6a594aa..0ed8638 100644 >> --- a/drivers/infiniband/ulp/iser/iscsi_iser.c >> +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c >> @@ -640,6 +640,15 @@ iscsi_iser_session_create(struct iscsi_endpoint >> *ep, >> 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(u32, shost->sg_tablesize, >> + ib_conn->device->dev_attr.max_fast_reg_page_list_len); >> + shost->max_sectors = >> + min(1024, (shost->sg_tablesize * PAGE_SIZE) >> 9); >> + > > Steve, > > This triggers a compilation warning: > drivers/infiniband/ulp/iser/iscsi_iser.c: In function > iscsi_iser_session_create: > drivers/infiniband/ulp/iser/iscsi_iser.c:653: warning: comparison of > distinct pointer types lacks a cast > > For next time, let's remove the reviewed-by tags and I'll re-review the > patches. Oops. My bad. -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.c b/drivers/infiniband/ulp/iser/iscsi_iser.c index 6a594aa..0ed8638 100644 --- a/drivers/infiniband/ulp/iser/iscsi_iser.c +++ b/drivers/infiniband/ulp/iser/iscsi_iser.c @@ -640,6 +640,15 @@ iscsi_iser_session_create(struct iscsi_endpoint *ep, 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(u32, shost->sg_tablesize, + ib_conn->device->dev_attr.max_fast_reg_page_list_len); + shost->max_sectors = + min(1024, (shost->sg_tablesize * PAGE_SIZE) >> 9); + if (iscsi_host_add(shost, ib_conn->device->ib_device->dma_device)) { mutex_unlock(&iser_conn->state_mutex);