dma_fence_s...stamp_locked(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… dma_fence_signal_timestamp_locked β€” the Kernel API Manual, but make it cute ✨

okay so bestie, buckle up β€” we're in the Kernel API Manual today and this one is genuinely iconic. it's dma_fence_signal_timestamp_locked(9) and it's giving "i'm the locked version of that other function you already know" πŸŽ€


🌸 NAME 🌸

dma_fence_signal_timestamp_locked β€” signal completion of a fence πŸ’–


✨ SYNOPSIS ✨

void dma_fence_signal_timestamp_locked (struct dma_fence *fence ,
ktime_t timestamp );

like, that's it. two args. no cap. 🫢


πŸ¦‹ ARGUMENTS πŸ¦‹

  • fence β€” the fence you're signalling, bestie. the main character, fr fr.
  • timestamp β€” the fence signal timestamp, and it lives in the kernel's CLOCK_MONOTONIC time domain. don't forget the domain part, it matters πŸ’€

πŸ”₯ DESCRIPTION πŸ”₯

okay so here's the vibe: you call this and it signals completion for software callbacks on a fence. what that actually does is unblock dma_fence_wait calls and run all the callbacks that were added with dma_fence_add_callback. so like, everybody waiting in the group chat finally gets the message. πŸ“¬

you can call it multiple times, but β€” and this is the key part β€” a fence can only go from the unsignaled state to the signaled state and not back. so it will only be effective the first time. periodt. the later calls are just there existing, doing nothing, lowkey ghosted. πŸ‘»

it also sets the timestamp you pass in as the fence signal timestamp. ⏰

🚨 the big one: unlike dma_fence_signal_timestamp, this function must be called with dma_fence.lock held. like, that's not optional. that's the whole reason _locked is in the name, iykyk. πŸ”’

🌈 SEE ALSO 🌈

like, that's a whole friend group right there. go say hi. 🫢✨


aaaand that's the page!! πŸŽ€ this one lives in ./drivers/dma-buf and it's dated October 2026 β€” so yeah, future vibes only. mwah, bye bestie, go hold that lock πŸ’…πŸ’–

πŸ“¦ where this page comes from