> On Nov 10, 2015, at 6:38 AM, Christoph Hellwig <hch@xxxxxxxxxxxxx> wrote: > > On Tue, Nov 10, 2015 at 12:44:14PM +0200, Sagi Grimberg wrote: >> --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >> +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c >> @@ -238,7 +238,7 @@ int rdma_read_chunk_frmr(struct svcxprt_rdma *xprt, >> read = min_t(int, nents << PAGE_SHIFT, rs_length); >> >> frmr->direction = DMA_FROM_DEVICE; >> - frmr->access_flags = (IB_ACCESS_LOCAL_WRITE|IB_ACCESS_REMOTE_WRITE); >> + frmr->access_flags = xprt->sc_cm_id->device->rdma_read_access_flags; >> frmr->sg_nents = nents; > > I think you can simply drop the access_flags member and use > rdma_read_access_flags directly later in the function. > Oh, and while we're at it. Can someone explain why we're even > using rdma_read_chunk_frmr for IB? It seems to work around the > fact tat iWarp only allow a single RDMA READ SGE, but it's used > whenever the device has IB_DEVICE_MEM_MGT_EXTENSIONS, which seems > wrong. Christoph: I agree on both points. Sagi: the overall approach looks fine to me. Will wait for you to repost with Christoph’s first suggestion addressed. -- Chuck Lever -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html