dma_resv_ite...rst_unlocked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dma_resv_ite...rst_unlocked(9) β€” Kernel API Manual, bestie edition πŸŽ€

okay so you found the kernel API manual, and the page you're on is dma_resv_ite...rst_unlocked(9) β€” yes the name is truncated with dots like that, that's just how it's printed, don't come for me 😭. It lives in the Kernel API Manual, and we're gonna get through it together. grab a lil snack πŸ“


✨ NAME ✨

dma_resv_iter_first_unlocked β€” literally just the first fence in an unlocked dma_resv obj. that's the whole vibe. πŸ’…


🌸 SYNOPSIS 🌸

struct dma_fence * dma_resv_iter_first_unlocked (struct dma_resv_iter
*cursor );

like, it hands you back a struct dma_fence * and takes one cursor. slay. ✨


πŸ¦‹ ARGUMENTS πŸ¦‹

  • cursor β€” the cursor with the current position. yes bestie it's exactly what it sounds like, it's holding your place in the iteration 🫢

πŸ’– DESCRIPTION πŸ’–

so after you call this, the rest of the fences get iterated with dma_resv_iter_next_unlocked. that's your next move, no cap.

⚠️ okay now the important part, listen up: beware that the iterator can be restarted. not me warning you about the plot twist 😭

so if your code is out here accumulating statistics or similar, you need to check for that restart with dma_resv_iter_is_restarted. like, actually check. fr fr.

and for this exact reason β€” the whole restart possibility β€” prefer the locked dma_resv_iter_first whenever possible. it's giving "the safe one is right there, bestie". πŸ‘‘

and what does it return? the first fence from an unlocked dma_resv obj. iconic. returns the first fence, that's the whole job, periodt. πŸ’€


🌈 SEE ALSO 🌈

like, that's the whole friend group right there 🧚 iykyk πŸ’œ


and that's the page!! it came from ./drivers/dma-buf, dated October 2026, and it goes by dma_resv_ite...rst_unlocked(9) β€” mwah, go read the safe locked one, ily, bye πŸŽ€πŸ’–πŸŒΈ

πŸ“¦ where this page comes from