Skip to content
Commit ca4faf54 authored by Chuck Lever's avatar Chuck Lever
Browse files

SUNRPC: Move xpt_mutex into socket xpo_sendto methods



It appears that the RPC/RDMA transport does not need serialization
of calls to its xpo_sendto method. Move the mutex into the socket
methods that still need that serialization.

Tail latencies are unambiguously better with this patch applied.
fio randrw 8KB 70/30 on NFSv3, smaller numbers are better:

    clat percentiles (usec):

With xpt_mutex:
r    | 99.99th=[ 8848]
w    | 99.99th=[ 9634]

Without xpt_mutex:
r    | 99.99th=[ 8586]
w    | 99.99th=[ 8979]

Serializing the construction of RPC/RDMA transport headers is not
really necessary at this point, because the Linux NFS server
implementation never changes its credit grant on a connection. If
that should change, then svc_rdma_sendto will need to serialize
access to the transport's credit grant fields.

Reported-by: default avatarkbuild test robot <lkp@intel.com>
[ cel: fix uninitialized variable warning ]
Signed-off-by: default avatarChuck Lever <chuck.lever@oracle.com>
parent b9bbe6ed
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment