sdma_send_txlist(9)
π sdma_send_txlist(9) β Kernel API Manual era β¨
okay so bestie, we're in the Kernel API Manual and this page is sdma_send_txlist(9), the call that submits a list of tx req to the ring. it's giving efficient packet submission, periodt π«Ά
πΈ NAME πΈ
sdma_send_txlist β submit a list of tx req to ring π«
β¨ SYNOPSIS β¨
int sdma_send_txlist (struct sdma_engine *sde , struct iowait_work *wait
, struct list_head *tx_list , u16 *count_out );
π ARGUMENTS π
sdeβ the sdma engine to use πwaitβ the SE wait structure to use when full (may beNULL) πtx_listβ the list ofsdma_txreqsto submit β¨count_outβ pointer to au16which, after return, will contain the total number ofsdma_txreqsremoved from thetx_list. This will includesdma_txreqswhose SDMA descriptors are submitted to the ring and thesdma_txreqswhich are added to SDMA engine flush list if the SDMA engine state is not running. no cap π«Ά
π₯ DESCRIPTION π₯
The call submits the list into the ring. main character behavior, honestly.
If the iowait structure is non-NULL and not equal to the iowait list, the unprocessed part of the list will be appended to the list in wait. okay so that's the little handoff moment π«
In all cases, the tx_list will be updated so the head of the tx_list is the list of descriptors that have yet to be transmitted. slay.
The intent of this call is to provide a more efficient way of submitting multiple packets to SDMA while holding the tail side locking. iykyk π₯
β RETURN β
0β Success π-EINVALβsdma_txreqincomplete π-EBUSYβ no space in ring (wait == NULL) π-EIOCBQUEUEDβ tx queued to iowait β¨-ECOMMβ bad sdma state π
π¦ SEE ALSO π¦
Kernel file: ./drivers/infiniband/hw/hfi1/sdma.c β and the whole friend group is 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_txreq(9), sdma_ahg_alloc(9), sdma_ahg_free(9), _sdma_engine_progress_schedule(9). go off, bestie π
okay that's the whole page, bestie β the source/version path is ./drivers/infiniband/hw/hfi1 and the date is October 2026. mwah π
π¦ 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