1
0
Fork 0
alistair23-linux/include/linux/sunrpc
Chuck Lever bade4be69a svcrdma: Revert "svcrdma: Reduce Receive doorbell rate"
I tested commit 43042b90ca ("svcrdma: Reduce Receive doorbell
rate") with mlx4 (IB) and software iWARP and didn't find any
issues. However, I recently got my hardware iWARP setup back on
line (FastLinQ) and it's crashing hard on this commit (confirmed
via bisect).

The failure mode is complex.
 - After a connection is established, the first Receive completes
   normally.
 - But the second and third Receives have garbage in their Receive
   buffers. The server responds with ERR_VERS as a result.
 - When the client tears down the connection to retry, a couple
   of posted Receives flush twice, and that corrupts the recv_ctxt
   free list.
 - __svc_rdma_free then faults or loops infinitely while destroying
   the xprt's recv_ctxts.

Since 43042b90ca ("svcrdma: Reduce Receive doorbell rate") does
not fix a bug but is a scalability enhancement, it's safe and
appropriate to revert it while working on a replacement.

Fixes: 43042b90ca ("svcrdma: Reduce Receive doorbell rate")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2021-03-11 15:26:07 -05:00
..
addr.h
auth.h SUNRPC: receive buffer size estimation values almost never change 2020-06-11 13:33:47 -04:00
auth_gss.h
bc_xprt.h Replace HTTP links with HTTPS ones: NFS, SUNRPC, and LOCKD clients 2020-09-21 10:21:10 -04:00
cache.h sunrpc: fix duplicated word in <linux/sunrpc/cache.h> 2020-09-21 10:21:10 -04:00
clnt.h NFSv4.1: fix handling of backchannel binding in BIND_CONN_TO_SESSION 2020-04-28 15:58:38 -04:00
debug.h
gss_api.h sunrpc: clean up properly in gss_mech_unregister() 2020-05-28 18:15:00 -04:00
gss_asn1.h
gss_err.h
gss_krb5.h SUNRPC: remove RC4-HMAC-MD5 support from KerberosV 2020-09-11 14:39:15 +10:00
gss_krb5_enctypes.h SUNRPC: remove RC4-HMAC-MD5 support from KerberosV 2020-09-11 14:39:15 +10:00
metrics.h
msg_prot.h SUNRPC: Move definition of XDR_UNIT 2021-01-25 09:36:23 -05:00
rpc_pipe_fs.h
rpc_rdma.h svcrdma: Add common XDR encoders for RDMA and Read segments 2020-07-13 17:28:24 -04:00
rpc_rdma_cid.h svcrdma: Introduce infrastructure to support completion IDs 2020-07-13 17:28:24 -04:00
sched.h SUNRPC: Add a flag to avoid reference counts on credentials 2020-03-16 08:34:28 -04:00
stats.h proc: convert everything to "struct proc_ops" 2020-02-04 03:05:26 +00:00
svc.h SUNRPC: Make trace_svc_process() display the RPC procedure symbolically 2021-01-25 09:36:23 -05:00
svc_rdma.h svcrdma: Revert "svcrdma: Reduce Receive doorbell rate" 2021-03-11 15:26:07 -05:00
svc_rdma_pcl.h svcrdma: Add a "parsed chunk list" data structure 2020-11-30 13:00:22 -05:00
svc_xprt.h SUNRPC: Rename svc_encode_read_payload() 2020-11-30 13:00:21 -05:00
svcauth.h
svcauth_gss.h sunrpc: clean up properly in gss_mech_unregister() 2020-05-28 18:15:00 -04:00
svcsock.h SUNRPC: Use TCP_CORK to optimise send performance on the server 2021-02-16 12:32:31 -05:00
timer.h
types.h
xdr.h Highlights: 2021-02-21 10:22:20 -08:00
xprt.h SUNRPC: Remove unused function xprt_load_transport() 2020-12-02 14:05:53 -05:00
xprtmultipath.h
xprtrdma.h
xprtsock.h