dma_fence_is_signaled(9)
okay bestie, welcome to the dma_fence_is_signaled(9) page straight out of the Kernel API Manual β yes it's a kernel thing, no you don't have to be scared, we're gonna get through it together π«Άβ¨
πΈ NAME πΈ
dma_fence_is_signaled β the little function that tells you whether a fence has been signaled yet. that's it, that's the whole vibe π
β¨ SYNOPSIS β¨
bool dma_fence_is_signaled (struct dma_fence *fence );
like, look at her. one argument. returns a bool. main character energy honestly π
π ARGUMENTS π
fenceβ the fence you wanna check. that's the one, bestie, that's who we're asking about π
π¦ DESCRIPTION π¦
So here's the tea β β this function returns true if the fence was already signaled, and false if it wasn't. simple as that.
BUT β and this is the important part, don't skip it β because this function doesn't enable signaling, it is not guaranteed to ever return true if dma_fence_add_callback, dma_fence_wait or dma_fence_enable_signaling haven't been called before. so like, if nobody set up the signaling, she might just keep saying false forever. not her fault, she's just reporting what she knows π
lowkey this is the one that gets people β no cap, check that the signaling machinery is actually running before you trust a false π
Also, for seqno fences it's recommended to call dma_fence_signal when the operation is complete. why? because it makes it possible to prevent issues from wraparound</> between time of issue and time of use β by checking the return value of this function before calling hardware-specific wait instructions. so you check first, wait second. that's the order. iykyk π
See also dma_fence_is_signaled_locked β her locked cousin, iconic in her own right π
π₯ SEE ALSO π₯
okay this list is long but we're not skipping a single one, we respect every link here π«‘
Kernel file ./include/linux/dma-fence.h:
struct dma_fence(9)struct dma_fence_cb(9)struct dma_fence_ops(9)dma_fence_was_initialized(9)dma_fence_put(9)dma_fence_get(9)dma_fence_get_rcu(9)dma_fence_get_rcu_safe(9)dma_fence_spinlock(9)dma_fence_lock_irqsave(9)dma_fence_unlock_irqrestore(9)dma_fence_assert_held(9)- Safe external access to driver provided object members(9)
dma_fence_is_signaled_locked(9)__dma_fence_is_later(9)dma_fence_is_later(9)dma_fence_is_later_or_same(9)dma_fence_later(9)dma_fence_get_status_locked(9)dma_fence_set_error(9)dma_fence_timestamp(9)dma_fence_wait(9)dma_fence_is_array(9)dma_fence_is_chain(9)dma_fence_is_container(9)
like, twenty-five whole friends. she's got a whole group chat going on π β¨
and that's the page, bestie π this came out of ./include/linux, dated October 2026, and the whole thing is filed under dma_fence_is_signaled(9) β go forth, check your fences, slay ππ
π¦ 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