diff options
| author | Chuck Lever <chuck.lever@oracle.com> | 2021-02-08 23:33:16 +0300 |
|---|---|---|
| committer | Chuck Lever <chuck.lever@oracle.com> | 2021-08-17 18:47:53 +0300 |
| commit | 07a92d009f0b1557d3d58905ce18821a483be2e1 (patch) | |
| tree | 33041cd8056c135ba9a00515345e78f7d4126f08 /include | |
| parent | b6c2bfea096ba22583f1071c10ce0745804b9b95 (diff) | |
| download | linux-07a92d009f0b1557d3d58905ce18821a483be2e1.tar.xz | |
svcrdma: Convert rdma->sc_rw_ctxts to llist
Relieve contention on sc_rw_ctxt_lock by converting rdma->sc_rw_ctxts
to an llist.
The goal is to reduce the average overhead of Send completions,
because a transport's completion handlers are single-threaded on
one CPU core. This change reduces CPU utilization of each Send
completion by 2-3% on my server.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Reviewed-By: Tom Talpey <tom@talpey.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/linux/sunrpc/svc_rdma.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/sunrpc/svc_rdma.h b/include/linux/sunrpc/svc_rdma.h index 5f8d5af6556c..24aa159d29a7 100644 --- a/include/linux/sunrpc/svc_rdma.h +++ b/include/linux/sunrpc/svc_rdma.h @@ -92,7 +92,7 @@ struct svcxprt_rdma { spinlock_t sc_send_lock; struct llist_head sc_send_ctxts; spinlock_t sc_rw_ctxt_lock; - struct list_head sc_rw_ctxts; + struct llist_head sc_rw_ctxts; u32 sc_pending_recvs; u32 sc_recv_batch; |
