]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
xprtrdma: Avoid 250 ms delay on backlog wakeup
authorChuck Lever <chuck.lever@oracle.com>
Fri, 6 Mar 2026 21:56:23 +0000 (16:56 -0500)
committerTrond Myklebust <trond.myklebust@hammerspace.com>
Mon, 13 Apr 2026 18:52:54 +0000 (11:52 -0700)
commit100142093e22b3f7741ac88e94878bb3694e306f
treee86180230ba7f9d4b6d4209e9783c70dcb033fbb
parent24297c7cd3f9389374bb13d1ca578c335d2866b9
xprtrdma: Avoid 250 ms delay on backlog wakeup

Commit a721035477fb ("SUNRPC/xprt: async tasks mustn't block waiting
for memory") changed xprt_rdma_alloc_slot() to set tk_status to
-ENOMEM so that call_reserveresult() would sleep HZ/4 before
retrying.  That rationale applies to xprt_dynamic_alloc_slot(),
where an immediate retry under memory pressure wastes CPU, but not
to the RDMA backlog path: a task woken from the backlog has a slot
waiting for it, so the 250 ms rpc_delay adds latency without
benefit.

This also aligns the code with the existing kernel-doc for
xprt_rdma_alloc_slot(), which already documented %-EAGAIN.

Fixes: a721035477fb ("SUNRPC/xprt: async tasks mustn't block waiting for memory")
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
net/sunrpc/xprtrdma/transport.c