On Thu, Oct 08, 2020 at 09:20:41AM -0700, Sagi Grimberg wrote: > > > > > > I think max IO size, at iSER initiator, depends on > > > > > "max_fast_reg_page_list_len". > > > > > currently, below are the supported "max_fast_reg_page_list_len" of > > > > > various iwarp drivers: > > > > > > > > > > iw_cxgb4: 128 pages > > > > > Softiwarp: 256 pages > > > > > i40iw: 512 pages > > > > > qedr: couldn't find. > > > > > > > > > > For iwarp case, if 512 is the max pages supported by all iwarp drivers, > > > > > then provisioning a gigantic MR pool at target(to accommodate never used > > > > > 16MiB IO) wouldn't be a overkill? > > > > > > > > For RoCE/IB Mellanox HCAs we support 16MiB IO size and even more. We > > > > limited to 16MiB in iSER/iSERT. > > > > > > > > Sagi, > > > > > > > > what about adding a module parameter for this as we did in iSER initiator ? > > > > > > I don't think we have any other choice... > > > > Sagi, > > > > I didn't read whole thread and know little about ULPs, but wonder if isn't > > it possible to check device type (iWARP/RoCE) during iSERT initialization > > and create MR pool only after device is recognized? > > Its already done this way. The problem is that there is no handshake > procedure in iSER between the host and the target for what the maximum > transfer size would be, so currently isert sets up to a worse case of > 16MB. This has implications on memory requirements. Thanks for the explanation.