From: Trond Myklebust Date: Fri, 25 Jul 2014 03:59:31 +0000 (-0400) Subject: SUNRPC: Reduce contention in svc_xprt_enqueue() X-Git-Tag: cleanup-for-v3.18~60^2~80 X-Git-Url: https://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0971374e2818eef6ebdbd7a37acf6ab7e98ac06c;p=pandora-kernel.git 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 Signed-off-by: J. Bruce Fields --- Reading git-diff-tree failed