rpc_calc_rto(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rpc_calc_rto(9) πŸ’…

okay so this page lives in the Kernel API Manual bestie, and it's literally about getting a vibe-check on how long to wait before you assume a network reply is never showing up. yes we're doing timeout math, and yes it's iconic.


✨ NAME ✨

rpc_calc_rto β€” provide an estimated timeout value 🫢


🌸 SYNOPSIS 🌸

unsigned long rpc_calc_rto (struct rpc_rtt *rt , unsigned int timer );

πŸŽ€ ARGUMENTS πŸŽ€

  • rt β€” the context you're using for the calculation, like it's the little clipboard of stats this whole thing reads from πŸ’–
  • timer β€” the timer array index, aka which request type you're clocking πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

so the whole point: this estimates the RTO for an NFS RPC that got sent over an unreliable datagram. yes, unreliable, we're all doing our best 😭

for the RPCs that get issued frequently, it uses the mean and mean deviation of the RTT for that appropriate type of RPC. slay, real data, we love to see it ✨

for the others β€” the infrequent ones β€” it just uses a fixed default. periodt.

and the justification for doing "other" this way, per the page, is that these RPCs happen so infrequently that a timer estimation would probably be stale. also, since many of these RPCs are non-idempotent, a conservative timeout is what's desired. so like, don't get cute with it πŸ”₯

here's the mapping bit, verbatim, because we do not edit the lore:

getattr, lookup, read, write, commit     - A+4D other
- timeo
no cap, that's exactly how it's laid out β€” you get A+4D for the named ones and the other bucket gets timeo. take it up with the source, not me πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘

like, go read those next, they're the supporting cast and they ate πŸ’…


that's the whole page bestie, go touch some RPCs 🌈

with love from the ./net/sunrpc crew, October 2026 edition β€” rpc_calc_rto(9), mwah πŸ’œ

πŸ“¦ where this page comes from