hfi1_schedule_tid_send(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– hfi1_schedule_tid_send β€” NAME πŸ’–

okay so bestie, this is hfi1_schedule_tid_send, and it literally schedules progress on the TID RDMA state machine ✨ like that's the whole job and she does it gorgeously.


πŸŽ€ SYNOPSIS πŸŽ€

bool hfi1_schedule_tid_send (struct rvt_qp *qp );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • qp β€” the QP πŸ’… that's it, that's the argument, she's the main character here.

🌸 DESCRIPTION 🌸

So what this does, right β€” it schedules progress on qp for the TID RDMA state machine. no cap, that's the vibe.

Heads up though: the caller should hold the s_lock. πŸ”’ that's on you, not her, okay? she's not doing it for you.

And here's the little plot twist: unlike hfi1_schedule_send, this one cannot use hfi1_send_ok, because the two state machines can literally step on each other with respect to the RVT_S_BUSY flag πŸ˜­πŸ’€ like imagine two besties both grabbing the same mirror at the same time. messy. so instead, a modified test is used. iykyk 🧚


✨ RETURN ✨

  • true β€” the second leg is scheduled 🫢 slay
  • false β€” the second leg is not scheduled πŸ™ˆ

πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./drivers/infiniband/hw/hfi1/tid_rdma.c, plus the whole friend group:


and that's the page, bestie 🌈 this iconic little piece of the Kernel API Manual is living in ./drivers/infiniband/hw/hfi1, dated October 2026 β€” go read the source file, mwah πŸ’œπŸŽ€πŸ“

πŸ“¦ where this page comes from