dma_fence_signal_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– dma_fence_signal_locked(9) β€” like, the Kernel API Manual one πŸ’–

okay so bestie, buckle in, because this is the locked-flavoured version of signalling a fence and it's honestly kind of a big deal ✨ (the manual name is dma_fence_signal_locked, in case the header didn't already spill it πŸ’…)


🌸 NAME 🌸

dma_fence_signal_locked β€” signal completion of a fence, bestie πŸŽ€


✨ SYNOPSIS ✨

void dma_fence_signal_locked (struct dma_fence *fence );

that's it. that's the whole vibe. one function, one pointer, no cap 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • fence β€” the fence to signal 🌈 (yes, that's the whole description, she's lowkey mysterious like that)

πŸ’€ DESCRIPTION πŸ’€

so what does she do? she signals completion for the software callbacks on a fence, periodt. that means she'll unblock any dma_fence_wait calls that were just sitting there waiting 😭 and she'll run all the callbacks that got added with dma_fence_add_callback πŸ”₯

and like β€” can you call her multiple times? yes actually, you can πŸ‘‘ BUT (and this is the important part, don't @ me) a fence can only go from the unsignaled state to the signaled state and not back, so she'll only be effective the first time. after that it's giving… nothing. zero. the call is just out here doing cardio πŸƒβ€β™€οΈπŸ’¨

⚠️ okay this is the big one: unlike dma_fence_signal, this function must be called with dma_fence.lock held. like, actually held. not "I think I held it." not "my friend held it." held. πŸ”’ don't fumble this one bestie πŸ™ˆ

🧚 SEE ALSO 🧚

the whole friend group, in order, no one gets left out πŸ’–:


and that's the page!! mwah πŸ’‹ this whole thing lives in ./drivers/dma-buf, it's from October 2026, and it was served up to you in this gorgeous little dma_fence_signal_locked(9) package πŸŽ€ go forth and hold that lock, queen πŸ‘‘βœ¨

πŸ“¦ where this page comes from