diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2018-01-03 15:42:18 -0500 |
---|---|---|
committer | J. Bruce Fields <bfields@redhat.com> | 2018-01-18 11:52:51 -0500 |
commit | 482725027ff32bc857f5527fb17feda5361265fe (patch) | |
tree | f34000848827662e93d0015e053bc6f5ae3e0b28 /net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | |
parent | 66282ec1cf004c09083c29cb5e49019037937bbd (diff) | |
download | linux-stable-482725027ff32bc857f5527fb17feda5361265fe.tar.gz linux-stable-482725027ff32bc857f5527fb17feda5361265fe.tar.bz2 linux-stable-482725027ff32bc857f5527fb17feda5361265fe.zip |
svcrdma: Post Receives in the Receive completion handler
This change improves Receive efficiency by posting Receives only
on the same CPU that handles Receive completion. Improved latency
and throughput has been noted with this change.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/xprtrdma/svc_rdma_recvfrom.c')
-rw-r--r-- | net/sunrpc/xprtrdma/svc_rdma_recvfrom.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c index ad4bd62eebf1..19e9c6b33042 100644 --- a/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c +++ b/net/sunrpc/xprtrdma/svc_rdma_recvfrom.c @@ -400,10 +400,6 @@ static void svc_rdma_send_error(struct svcxprt_rdma *xprt, struct page *page; int ret; - ret = svc_rdma_repost_recv(xprt, GFP_KERNEL); - if (ret) - return; - page = alloc_page(GFP_KERNEL); if (!page) return; @@ -554,8 +550,6 @@ int svc_rdma_recvfrom(struct svc_rqst *rqstp) ret = svc_rdma_handle_bc_reply(xprt->xpt_bc_xprt, p, &rqstp->rq_arg); svc_rdma_put_context(ctxt, 0); - if (ret) - goto repost; return ret; } @@ -590,6 +584,5 @@ out_postfail: out_drop: svc_rdma_put_context(ctxt, 1); -repost: - return svc_rdma_repost_recv(rdma_xprt, GFP_KERNEL); + return 0; } |