dma_fence_later(9)
π dma_fence_later(9) π
okay so this is a page straight out of the Kernel API Manual, bestie β it's dma_fence_later(9) and it's genuinely so simple you're gonna wonder why it needed a whole manpage. (It did. Kernel docs are like that. We love her for it. π)
β¨ NAME β¨
dma_fence_later β return the chronologically later fence π
like, the fence that shows up last. the late one. the main character who arrives fashionably after everyone else. π
πΈ SYNOPSIS πΈ
struct dma_fence * dma_fence_later (struct dma_fence *f1 , struct dma_fence *f2 );
that's it. two fences in, one fence out. no cap. β¨
π¦ ARGUMENTS π¦
f1β the first fence, and it has to be from the same context as the other one, ok? πf2β the second fence, also from the same context. they're a matched set, they're literally sisters. π«Ά
π DESCRIPTION π
So here's the vibe check: if both fences are already signaled, you get NULL back. Nothing. Nada. The function is basically like "yeah they're both done, we're so over it."
Otherwise β meaning at least one of them is still pending β you get back the fence that would be signaled last. The slowest one. The one taking its sweet time. πβ¨
β οΈ And this part is important, bestie, do not skip it: both fences must be from the same context. Why? Because a seqno is not re-used across contexts. That's the whole reason the "which one is later" question even has an answer. Don't mix contexts, it's giving chaos. π
π₯ SEE ALSO π₯
okay this is the part where the manpage flexes its entire friend group. literally everyone is here. π
Kernel file ./include/linux/dma-fence.h and friends: 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_signaled(9), __dma_fence_is_later(9), dma_fence_is_later(9), dma_fence_is_later_or_same(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 I said. the whole group chat. π
and that's the page!! π huge thank you to ./include/linux for hosting, dated October 2026, filed under dma_fence_later(9) β mwah, love you, bye bestie!! ππ¦β¨
π¦ 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