svc_rdma_flush_recv_queues(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… svc_rdma_flush_recv_queues(9) β€” the Kernel API Manual moment πŸŽ€

okay bestie, so this one is from the Kernel API Manual and it's literally about draining pending Receive work. yes ma'am, we're doing kernel internals today and we're gonna slay it ✨


🌸 NAME 🌸

svc_rdma_flush_recv_queues β€” Drain pending Receive work πŸ’§ like, empty out the queue, no cap


πŸ¦‹ SYNOPSIS πŸ¦‹

void svc_rdma_flush_recv_queues (struct svcxprt_rdma *rdma );

that's the whole signature, bestie β€” void, one arg, that's it, periodt πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • rdma β€” the svcxprt_rdma that's being shut down 🫢 that's the one we're flushing, iykyk

✨ DESCRIPTION ✨

okay so here's the vibe check πŸ‘‘ the caller has got to guarantee that rdma's Send and Recv Completion Queues are already empty β€” like, for example via ib_drain_qp β€” so that no completion handlers can still produce work on the queues we're draining. literally that's the whole rule πŸ™ˆ

no like fr fr, this is on you, the caller. if the completion queues aren't empty yet, completion handlers could still be out here producing work on the queues being drained, and that's a whole mess 😭 so drain the QP first, bestie πŸ’€

πŸ’– SEE ALSO πŸ’–

Kernel file: ./net/sunrpc/xprtrdma/svc_rdma_recvfrom.c 🌈

and the whole friend group β€” go say hi to:


and that's the tea πŸ“ this page lives in ./net/sunrpc/xprtrdma, it's dated October 2026, and it's svc_rdma_flush_recv_queues(9) β€” mwah, go drain those queues responsibly πŸ’œπŸ§šβ€β™€οΈ ⭐

πŸ“¦ where this page comes from