linux/net/sunrpc/xprtrdma
Chuck Lever 32cf5a4eda Revert "svcrdma: Add Write chunk WRs to the RPC's Send WR chain"
Performance regression reported with NFS/RDMA using Omnipath,
bisected to commit e084ee673c ("svcrdma: Add Write chunk WRs to
the RPC's Send WR chain").

Tracing on the server reports:

  nfsd-7771  [060]  1758.891809: svcrdma_sq_post_err:
	cq.id=205 cid=226 sc_sq_avail=13643/851 status=-12

sq_post_err reports ENOMEM, and the rdma->sc_sq_avail (13643) is
larger than rdma->sc_sq_depth (851). The number of available Send
Queue entries is always supposed to be smaller than the Send Queue
depth. That seems like a Send Queue accounting bug in svcrdma.

As it's getting to be late in the 6.9-rc cycle, revert this commit.
It can be revisited in a subsequent kernel release.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=218743
Fixes: e084ee673c ("svcrdma: Add Write chunk WRs to the RPC's Send WR chain")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
2024-04-20 11:20:41 -04:00
..
backchannel.c SUNRPC: change the back-channel queue to lwq 2023-10-16 12:44:08 -04:00
frwr_ops.c xprtrdma: Fix uninitialized variable 2022-10-05 15:47:17 -04:00
Makefile svcrdma: Add a "parsed chunk list" data structure 2020-11-30 13:00:22 -05:00
module.c SUNRPC: xprt_load_transport() needs to support the netid "rdma6" 2020-12-02 14:05:52 -05:00
rpc_rdma.c xprtrdma: treat all calls not a bcall when bc_serv is NULL 2022-05-31 17:09:30 -04:00
svc_rdma_backchannel.c svcrdma: Post Send WR chain 2024-03-01 09:12:28 -05:00
svc_rdma_pcl.c svcrdma: Add a "parsed chunk list" data structure 2020-11-30 13:00:22 -05:00
svc_rdma_recvfrom.c svcrdma: Implement multi-stage Read completion again 2024-01-07 17:54:33 -05:00
svc_rdma_rw.c Revert "svcrdma: Add Write chunk WRs to the RPC's Send WR chain" 2024-04-20 11:20:41 -04:00
svc_rdma_sendto.c Revert "svcrdma: Add Write chunk WRs to the RPC's Send WR chain" 2024-04-20 11:20:41 -04:00
svc_rdma_transport.c svcrdma: Increase the per-transport rw_ctx count 2024-03-01 09:12:26 -05:00
svc_rdma.c svcrdma: Add a utility workqueue to svcrdma 2024-01-07 17:54:26 -05:00
transport.c sunrpc: simplify one-level sysctl registration for xr_tunables_table 2023-04-11 12:44:49 -04:00
verbs.c rpcrdma: Introduce a simple cid tracepoint class 2024-01-07 17:54:27 -05:00
xprt_rdma.h xprtrdma: Remove unused function declaration rpcrdma_bc_post_recv() 2023-08-23 15:58:47 -04:00