rdma_set_min_rnr_timer(9)
π rdma_set_min_rnr_timer β kernel API manual, but make it cute
okay so bestie, welcome to the rdma_set_min_rnr_timer(9) page π this is a kernel API manual and yes we ARE reading it together, hold my iced coffee π
β¨ NAME β¨
rdma_set_min_rnr_timer β sets the minimum RNR Retry timer of the QP that's associated with a connection identifier, no cap π
πΈ SYNOPSIS πΈ
int rdma_set_min_rnr_timer (struct rdma_cm_id *id , u8 min_rnr_timer );
that's it, that's the whole vibe check π
π¦ ARGUMENTS π¦
idβ the communication identifier you're associating with the service type π«Άmin_rnr_timerβ a 5-bit value, encoded exactly like Table 45: "Encoding for RNR NAK Timer Field" in the IBTA specification. yes, the spec is the main character here, we just live in it π
π₯ DESCRIPTION π₯
okay so here's the timeline and the timeline is important, bestie π§
This function should be called before rdma_connect on the active side, and on the passive side before rdma_accept. literally, do not skip this step, it's giving prerequisite energy β¨
The timer value gets associated with the local QP. So when that QP receives a send it's not ready to handle β typically because the receive queue is empty π β an RNR Retry NAK gets returned to the requester with the min_rnr_timer encoded inside it. The requester then waits at least the time specified in the NAK before retrying. patience is a virtue, periodt β
The default is zero, which translates to a minimum RNR Timer value of 655 ms. iconic default behavior, honestly π
π RETURN π
0 for success β that's the only value listed here, so 0 is the whole mood π
π SEE ALSO π
Kernel file ./drivers/infiniband/core/cma.c and its whole friend group:
rdma_is_consumer_reject(9)rdma_iw_cm_id(9)cma_acquire_dev_by_src_ip(9)cma_ib_acquire_dev(9)rdma_set_ack_timeout(9)rdma_connect_locked(9)rdma_connect(9)rdma_connect_ece(9)rdma_accept(9)
go read all of them, i'll wait π
ngl bestie, the two rules that actually matter: call it beforerdma_connect(active side) or beforerdma_accept(passive side), and remember the defaultzero=655 msminimum. don't @ me, that's just what the page says π«Ά
okay that's a wrap!! this page lives in ./drivers/infiniband/core and it's dated October 2026, and honestly? rdma_set_min_rnr_timer(9) ate and left no crumbs πβ¨π¦ slay, bye!! π
π¦ 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