sdma_send_txlist(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 be NULL) πŸ™ˆ
  • tx_list β€” the list of sdma_txreqs to submit ✨
  • count_out β€” pointer to a u16 which, after return, will contain the total number of sdma_txreqs removed from the tx_list. This will include sdma_txreqs whose SDMA descriptors are submitted to the ring and the sdma_txreqs which 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_txreq incomplete 😭
  • -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