On Mon, Aug 03, 2015 at 11:33:51AM -0700, Bart Van Assche wrote: > >Bart, do you know what hardware this workaround is for? > > I hope the HW vendors can comment on this. Sorry but I'm not sure which HCA > models and/or firmware versions do not support FMR mapping with a non-zero > offset.
Perhaps David can remember why he added this: commit 8f26c9ff9cd0317ad867bce972f69e0c6c2cbe3c IB/srp: rework mapping engine to use multiple FMR entries + /* If we start at an offset into the FMR page, don't merge into + * the current FMR. Finish it out, and use the kernel's MR for this + * sg entry. This is to avoid potential bugs on some SRP targets + * that were never quite defined, but went away when the initiator + * avoided using FMR on such page fragments. + */ + if (dma_addr & ~dev->fmr_page_mask || dma_len > dev->fmr_max_size) { + ret = srp_map_finish_fmr(state, target); + if (ret) + return ret; + + srp_map_desc(state, dma_addr, dma_len, target->rkey); + srp_map_update_start(state, NULL, 0, 0); + return 0; } The way it is phrased makes it seem like a target bug, not a HCA bug? Jason -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html