sdma_send_txreq(9)
π 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 actualsdma_txreqyou'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 π
- Kernel file
./drivers/infiniband/hw/hfi1/sdma.c sdma_state_name(9)sdma_get_descq_cnt(9)sdma_engine_get_vl(9)sdma_select_engine_vl(9)sdma_select_engine_sc(9)sdma_seqfile_dump_cpu_list(9)sdma_map_init(9)sdma_clean(9)sdma_init(9)sdma_all_running(9)sdma_start(9)sdma_exit(9)__sdma_txclean(9)sdma_engine_error(9)sdma_seqfile_dump_sde(9)sdma_send_txlist(9)sdma_ahg_alloc(9)sdma_ahg_free(9)_sdma_engine_progress_schedule(9)
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
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms