rdma_set_min_rnr_timer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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:

go read all of them, i'll wait πŸŽ€


ngl bestie, the two rules that actually matter: call it before rdma_connect (active side) or before rdma_accept (passive side), and remember the default zero = 655 ms minimum. 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