On 2/3/2021 3:06 PM, Chuck Lever wrote:
Changes since v2: - Another minor optimization in rpcrdma_convert_kvec() - Some patch description clarifications - Add Reviewed-by (thanks Tom!) Changes since v1: - Respond to review comments - Split "Remove FMR support" into three patches for clarity - Fix implicit chunk roundup - Improve Receive completion tracepoints --- Chuck Lever (6): xprtrdma: Remove FMR support in rpcrdma_convert_iovs() xprtrdma: Simplify rpcrdma_convert_kvec() and frwr_map() xprtrdma: Refactor invocations of offset_in_page() rpcrdma: Fix comments about reverse-direction operation xprtrdma: Pad optimization, revisited rpcrdma: Capture bytes received in Receive completion tracepoints include/trace/events/rpcrdma.h | 50 +++++++++++++++++++++- net/sunrpc/xprtrdma/backchannel.c | 4 +- net/sunrpc/xprtrdma/frwr_ops.c | 12 ++---- net/sunrpc/xprtrdma/rpc_rdma.c | 17 +++-----
While reviewing the changes in rpc_rdma.c, I noticed a related minor nit, which might be worth cleaning up for clarity. Toward the end of rpcrdma_convert_iovs, there is no longer any need to capture the returned value of rpcrdma_convert_kvec: if (xdrbuf->tail[0].iov_len) seg = rpcrdma_convert_kvec(&xdrbuf->tail[0], seg, &n); ^^^^^^ --> (void)? out: if (unlikely(n > RPCRDMA_MAX_SEGS)) return -EIO; return n; The two "goto out" statements just above it are getting kinda ugly too, but... Tom.
net/sunrpc/xprtrdma/svc_rdma_backchannel.c | 4 +- net/sunrpc/xprtrdma/xprt_rdma.h | 15 ++++--- 6 files changed, 68 insertions(+), 34 deletions(-) -- Chuck Lever