aboutsummaryrefslogtreecommitdiffstats
path: root/net/sunrpc/svcsock.c
diff options
context:
space:
mode:
authorTrond Myklebust <trond.myklebust@primarydata.com>2014-07-24 23:59:31 -0400
committerJ. Bruce Fields <bfields@redhat.com>2014-07-29 16:10:15 -0400
commit0971374e2818eef6ebdbd7a37acf6ab7e98ac06c (patch)
tree87ca80081f794d3b18bc301dc570b9403f39ee4f /net/sunrpc/svcsock.c
parentnfsd: remove dl_fh field from struct nfs4_delegation (diff)
downloadlinux-dev-0971374e2818eef6ebdbd7a37acf6ab7e98ac06c.tar.xz
linux-dev-0971374e2818eef6ebdbd7a37acf6ab7e98ac06c.zip
SUNRPC: Reduce contention in svc_xprt_enqueue()
Ensure that all calls to svc_xprt_enqueue() except svc_xprt_received() check the value of XPT_BUSY, before attempting to grab spinlocks etc. This is to avoid situations such as the following "perf" trace, which shows heavy contention on the pool spinlock: 54.15% nfsd [kernel.kallsyms] [k] _raw_spin_lock_bh | --- _raw_spin_lock_bh | |--71.43%-- svc_xprt_enqueue | | | |--50.31%-- svc_reserve | | | |--31.35%-- svc_xprt_received | | | |--18.34%-- svc_tcp_data_ready ... Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com> Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Diffstat (limited to 'net/sunrpc/svcsock.c')
0 files changed, 0 insertions, 0 deletions