dma_fence_later(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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