dma_fence_signal_locked(9)
π 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: unlikedma_fence_signal, this function must be called withdma_fence.lockheld. 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 π:
- Kernel file
./drivers/dma-buf/dma-fence.c - DMA fences overview(9)
- fence cross-driver contract(9)
dma_fence_get_stub(9)dma_fence_allocate_private_stub(9)dma_fence_context_alloc(9)- fence signalling annotation(9)
dma_fence_begin_signalling(9)dma_fence_end_signalling(9)dma_fence_signal_timestamp_locked(9)dma_fence_signal_timestamp(9)dma_fence_check_and_signal_locked(9)dma_fence_check_and_signal(9)dma_fence_signal(9)dma_fence_wait_timeout(9)dma_fence_release(9)dma_fence_free(9)dma_fence_enable_signaling(9)dma_fence_add_callback(9)dma_fence_get_status(9)dma_fence_remove_callback(9)dma_fence_default_wait(9)dma_fence_wait_any_timeout(9)- deadline hints(9)
dma_fence_set_deadline(9)dma_fence_describe(9)dma_fence_init(9)dma_fence_init64(9)dma_fence_driver_name(9)dma_fence_timeline_name(9)
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
- 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