frwr_send(9)
π frwr_send(9) β like, the Kernel API Manual girlies finally get a send function π
okay so bestie, welcome to frwr_send, straight out of the Kernel API Manual (section 9, kernel-space only, we don't do userspace here β¨). This is the one that posts your Send WRs with the RPC Call message tucked inside. Let's get into it π
β¨ SYNOPSIS β¨
int frwr_send (struct rpcrdma_xprt *r_xprt , struct rpcrdma_req *req );
like, that's the whole vibe check right there π«Ά
πΈ ARGUMENTS πΈ
r_xprtβ the controlling transport instance, aka the main character of this whole operation πreqβ a prepared RPC Call. already cooked, ready to go π
π DESCRIPTION π
So here's the tea β β for FRWR, you chain any FastReg WRs to the Send WR. That means only a single ib_post_send call is needed to register memory and then post the Send WR. one call, two jobs, ate and left no crumbs πβ¨
It returns the return code from ib_post_send. that's it, that's the return value, no cap π€·ββοΈ
β οΈ ok important bestie, do NOT skip this: the caller must hold the transport send lock to ensure that the pointers to the transport's rdma_cm_id and QP are stable. like, fr fr, hold the lock. this is not a drill ππ
π¦ SEE ALSO π¦
Kernel file ./net/sunrpc/xprtrdma/frwr_ops.c and its whole friend group, they're all iconic in their own way π:
frwr_mr_release(9)frwr_reset(9)frwr_mr_init(9)frwr_query_device(9)frwr_map(9)frwr_wc_fastreg(9)frwr_reminv(9)frwr_wc_localinv(9)frwr_wc_localinv_wake(9)frwr_unmap_sync(9)frwr_wc_localinv_done(9)frwr_unmap_async(9)frwr_wp_create(9)
and that's the page!! π source/version is ./net/sunrpc/xprtrdma and it's dated October 2026, so like, future vibes only β mwah, go post those WRs responsibly ππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms