irdma_schedule_cm_timer(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… irdma_schedule_cm_timer(9) β€” Kernel API Manual, bestie edition πŸŽ€

Okay so we're in the Kernel API Manual today and this one's a <hotpink>deep kernel internals</hotpink> girlie page β€” no cap. Buckle up, it's giving "you need to already know what a connection manager is" energy, but we're gonna walk through it together 🫢


🌸 NAME 🌸

irdma_schedule_cm_timer β€”

Fair warning bestie: the description slot is literally empty in the source. That's not me being lazy, that's just what the page says πŸ’€. The name is the whole name, no blurb. Periodt.

✨ SYNOPSIS ✨

int irdma_schedule_cm_timer (struct irdma_cm_node *cm_node , struct
irdma_puda_buf *sqbuf , enum irdma_timer_type type , int send_retrans ,
int close_when_complete );

Look at that signature. It returns an int, takes five things, and it's lowkey long enough to need its own zip code 😭. Take it slow, copy it exactly, do not "fix" the spacing, iykyk.


πŸ¦‹ ARGUMENTS πŸ¦‹

  • cm_node β€” the connection's node. This is the main character of the whole call, fr fr πŸ’….
  • sqbuf β€” the buffer to send. Your payload, your little parcel 🎁.
  • type β€” tells us if it's a send or a close. Two moods, pick one 🌈.
  • send_retrans β€” whether rexmits are to be done (as in re-transmissions). Yes, "rexmits" is the word the page uses and yes we're keeping it πŸ“.
  • close_when_complete β€” is cm_node to be removed when we're done? Basically "do we yeet this node afterwards" πŸ™ˆ.

πŸ‘‘ DESCRIPTION πŸ‘‘

⚠️ note β€” cm_node needs to be protected before calling this. Protect your node like you protect your peace, bestie πŸ’–

Encase it in this exact spell, okay? Like this, verbatim:

irdma_rem_ref_cm_node(cm_core, cm_node); irdma_schedule_cm_timer(...)
refcount_inc(cm_node->refcnt);

That's the refcount dance. Do the dance. Don't skip the dance. The whole thing is about not letting that node get yanked out from under you while you're mid-timer, and honestly that's so valid of it.


🌟 SEE ALSO 🌟

The kernel file lives at ./drivers/infiniband/hw/irdma/cm.c β€” go say hi to the family πŸ’œ

That's the whole friend group, all (9) and all iconic πŸ‘‘


And that's the page!! It lives in ./drivers/infiniband/hw/irdma, dated October 2026 β€” yes, the future, she's ahead of her time ⭐ Go protect your cm_node before you call this, bestie, and slay πŸ’…βœ¨πŸ’–

πŸ“¦ where this page comes from