diff options
author | Chuck Lever <chuck.lever@oracle.com> | 2019-08-19 18:48:43 -0400 |
---|---|---|
committer | Anna Schumaker <Anna.Schumaker@Netapp.com> | 2019-08-21 11:45:27 -0400 |
commit | b0b227f071a06d0ce5ef803538899299933d2931 (patch) | |
tree | a4d8eaa70289da84c14a528cbc38257bc53f9994 /net/sunrpc/stats.c | |
parent | 4d6b8890ddb16120c5dd25edc8d215cfd8222b63 (diff) |
xprtrdma: Use an llist to manage free rpcrdma_reps
rpcrdma_rep objects are removed from their free list by only a
single thread: the Receive completion handler. Thus that free list
can be converted to an llist, where a single-threaded consumer and
a multi-threaded producer (rpcrdma_buffer_put) can both access the
llist without the need for any serialization.
This eliminates spin lock contention between the Receive completion
handler and rpcrdma_buffer_get, and makes the rep consumer wait-
free.
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
Diffstat (limited to 'net/sunrpc/stats.c')
0 files changed, 0 insertions, 0 deletions