sdma_progress(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… sdma_progress(9) β€” a lil' kernel API moment

okay so bestie, we're in the Kernel API Manual today and the star of the show is sdma_progress, which is lowkey just "use seq number of detect head progress" ✨ (that's the NAME line, verbatim, don't come for me).


πŸ¦‹ SYNOPSIS πŸ¦‹

unsigned sdma_progress (struct sdma_engine *sde , unsigned seq , struct sdma_txreq *tx );

like yes she returns an unsigned, she takes three args, she's booked and busy πŸ’…


πŸŽ€ ARGUMENTS πŸŽ€

  • sde β€” the sdma_engine to check. that's the engine we're doing a vibe check on, fr.
  • seq β€” base seq count. the starting point, the blueprint, the origin story.
  • tx β€” the txreq for which we need to check descriptor availability. we're literally asking "is there room for this one, bestie?"

✨ DESCRIPTION ✨

so the way this works: sdma_progress is used in the appropriate spot in the sleep routine to check for potential ring progress πŸ‘‘

this routine gets the seqcount before queuing the iowait structure for progress. order matters, iykyk 🫢

and then β€” if the seqcount indicates that progress needs to be checked β€” re-submission is detected by checking whether the descriptor queue has enough descriptor for the txreq. that's the whole plot twist. that's the tea β˜•


🌈 SEE ALSO 🌈

  • Kernel file ./drivers/infiniband/hw/hfi1/sdma.h sdma exported routines(9)
  • sdma PSM/verbs API(9)
  • Infrastructure calls(9)
  • struct sdma_engine(9)
  • sdma_empty(9)
  • sdma_running(9)
  • sdma_txinit_ahg(9)
  • sdma_txinit(9)
  • sdma_txadd_page(9)
  • sdma_txadd_daddr(9)
  • sdma_txadd_kvaddr(9)
  • struct sdma_map_elem(9)
  • sdma_engine_progress_schedule(9)

like, read the whole friend group, bestie, they all slay in their own way πŸ’–


ngl the page lives at ./drivers/infiniband/hw/hfi1, and it's dated October 2026 β€” yes, the future, main character energy only 😭⏰

that's the page!! go forth and check those descriptor queues, you absolute icon πŸŒΈπŸ’… periodt.

πŸ“¦ where this page comes from