sdma_send_txreq(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… sdma_send_txreq(9) πŸ’…

okay so bestie, this is a page from the Kernel API Manual β€” yes, the kernel kernel, we're literally in the guts of Linux rn, main character energy fr fr. This is sdma_send_txreq(9) and it's about yeeting a tx req into a ring. Stay with me, it slaps.


✨ NAME ✨

sdma_send_txreq β€” submit a tx req to ring πŸŽ€


🌸 SYNOPSIS 🌸

int sdma_send_txreq (struct sdma_engine *sde , struct iowait_work *wait
, struct sdma_txreq *tx , bool pkts_sent );

like, look at that signature. so clean. so iconic. 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • sde β€” the sdma engine you're gonna use, no cap. that's your engine.
  • wait β€” the SE wait structure to use when it's full β€” and heads up, this one may be NULL. πŸ™ˆ
  • tx β€” the actual sdma_txreq you're submitting. the star of the show, the main character.
  • pkts_sent β€” a bool that's literally just: has any packet been sent yet? yes/no, vibe check. ⭐

πŸ’– DESCRIPTION πŸ’–

So the call submits the tx into the ring. That's the whole bit. πŸ’…

And if an iowait structure is non-NULL, the packet gets queued to the list in wait β€” like it's waiting in the group chat for its turn to speak, iykyk. 🧚


πŸ”₯ RETURN πŸ”₯

here's the receipts, bestie β€” memorize these numbers, they matter 😭

  • 0 β€” Success πŸŽ‰
  • -EINVAL β€” sdma_txreq incomplete
  • -EBUSY β€” no space in ring (wait == NULL)
  • -EIOCBQUEUED β€” tx queued to iowait
  • -ECOMM β€” bad sdma state πŸ’€
not me listing every single one of these β€” yes, all of them, because you need all of them, periodt.

🌈 SEE ALSO 🌈

like, that's the whole friend group right there. go say hi. 🫢✨


mwah πŸ’‹ that's the page!! this one lives in ./drivers/infiniband/hw/hfi1 and it's dated October 2026 β€” so yeah, go read it, stan it, cite it in your patch. slay. πŸ‘‘πŸŒΈ

πŸ“¦ where this page comes from