linux/net/sunrpc
Chuck Lever deaa5c96c2 SUNRPC: Address Kerberos performance/behavior regression
When using Kerberos with v4.20, I've observed frequent connection
loss on heavy workloads. I traced it down to the client underrunning
the GSS sequence number window -- NFS servers are required to drop
the RPC with the low sequence number, and also drop the connection
to signal that an RPC was dropped.

Bisected to commit 918f3c1fe8 ("SUNRPC: Improve latency for
interactive tasks").

I've got a one-line workaround for this issue, which is easy to
backport to v4.20 while a more permanent solution is being derived.
Essentially, tk_owner-based sorting is disabled for RPCs that carry
a GSS sequence number.

Fixes: 918f3c1fe8 ("SUNRPC: Improve latency for interactive ... ")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2019-01-15 15:36:41 -05:00
..
auth_gss SUNRPC: Ensure we respect the RPCSEC_GSS sequence number limit 2019-01-15 15:32:21 -05:00
xprtrdma xprtrdma: Double free in rpcrdma_sendctxs_create() 2019-01-08 12:06:17 -05:00
Kconfig IB: Revert "remove redundant INFINIBAND kconfig dependencies" 2018-05-28 10:40:16 -06:00
Makefile SUNRPC: remove generic cred code. 2018-12-19 13:52:46 -05:00
addr.c replace strict_strto calls 2014-07-12 18:45:49 -04:00
auth.c sunrpc: kernel BUG at kernel/cred.c:825! 2019-01-09 16:54:23 -05:00
auth_null.c SUNRPC: remove crbind rpc_cred operation 2018-12-19 13:52:46 -05:00
auth_unix.c SUNRPC: simplify auth_unix. 2018-12-19 13:52:46 -05:00
backchannel_rqst.c SUNRPC: Fix some kernel doc complaints 2019-01-02 12:05:18 -05:00
cache.c sunrpc: fix cache_head leak due to queued request 2018-12-04 15:42:08 -05:00
clnt.c SUNRPC: Ensure we respect the RPCSEC_GSS sequence number limit 2019-01-15 15:32:21 -05:00
debugfs.c net: Use octal not symbolic permissions 2018-03-26 12:07:48 -04:00
netns.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rpc_pipe.c sunrpc: convert to DEFINE_SHOW_ATTRIBUTE 2019-01-02 12:05:49 -05:00
rpcb_clnt.c sunrpc: convert unnecessary GFP_ATOMIC to GFP_NOFS 2019-01-02 12:05:19 -05:00
sched.c NFS/NFSD/SUNRPC: replace generic creds with 'struct cred'. 2018-12-19 13:52:46 -05:00
socklib.c net: dump more useful information in netdev_rx_csum_fault() 2018-11-15 11:37:04 -08:00
stats.c sunrpc: whitespace fixes 2018-07-31 12:53:40 -04:00
sunrpc.h sunrpc: whitespace fixes 2018-07-31 12:53:40 -04:00
sunrpc_syms.c net: Drop pernet_operations::async 2018-03-27 13:18:09 -04:00
svc.c sunrpc: make visible processing error in bc_svc_process() 2018-12-27 21:01:41 -05:00
svc_xprt.c sunrpc: fix debug message in svc_create_xprt() 2018-12-27 21:01:41 -05:00
svcauth.c SUNRPC: Add lockless lookup of the server's auth domain 2018-10-03 11:32:59 -04:00
svcauth_unix.c SUNRPC: Make server side AUTH_UNIX use lockless lookups 2018-10-29 16:58:04 -04:00
svcsock.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2019-01-03 12:53:47 -08:00
sysctl.c Remove 'type' argument from access_ok() function 2019-01-03 18:57:57 -08:00
timer.c net: cleanup unsigned to unsigned int 2012-04-15 12:44:40 -04:00
xdr.c SUNRPC: drop pointless static qualifier in xdr_get_next_encode_buffer() 2018-11-08 12:12:23 -05:00
xprt.c SUNRPC: Address Kerberos performance/behavior regression 2019-01-15 15:36:41 -05:00
xprtmultipath.c SUNRPC: Fix some kernel doc complaints 2019-01-02 12:05:18 -05:00
xprtsock.c SUNRPC: Fix TCP receive code on archs with flush_dcache_page() 2019-01-08 12:44:51 -05:00