On Mon, Jul 13, 2015 at 10:57:48AM -0600, Jason Gunthorpe wrote: > > Currently various drivers are using ib_get_dma_mr with remote flags > > unfortunately, e.g. the SRP initiator driver uses it to optimize away > > memory registrtions for single SGL entry requests. > > Unconditionally? Ugh. Maybe we do need the warn_on :( There is a "register_always" flag to always use real MRs, but it's off by default: if (count == 1 && !register_always) { /* * The midlayer only generated a single gather/scatter * entry, or DMA mapping coalesced everything to a * single entry. So a direct descriptor along with * the DMA MR suffices. */ struct srp_direct_buf *buf = (void *) cmd->add_data; buf->va = cpu_to_be64(ib_sg_dma_address(ibdev, scat)); buf->key = cpu_to_be32(target->rkey); buf->len = cpu_to_be32(ib_sg_dma_len(ibdev, scat)); req->nmdesc = 0; goto map_complete; } -- To unsubscribe from this list: send the line "unsubscribe linux-nfs" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html