dma_fence_signal_timestamp(9)
π dma_fence_signal_timestamp(9) β like, the Kernel API Manual page, bestie π
okay so picture this: you're deep in the kernel, specifically dma_fence_signal_timestamp, and you need the tea. this is that page. it lives in the Kernel API Manual section 9, and it's lowkey iconic. let's get into it π
β¨ NAME β¨
dma_fence_signal_timestamp β signal completion of a fence. that's the whole vibe. a fence gets told "you're done, girl" π
πΈ SYNOPSIS πΈ
void dma_fence_signal_timestamp (struct dma_fence *fence , ktime_t
timestamp );
it returns void, so don't go looking for a return value, there isn't one, periodt π«Ά
π¦ ARGUMENTS π¦
fenceβ the fence you're signalling. the main character of this whole operation πtimestampβ the fence signal timestamp, expressed in the kernel'sCLOCK_MONOTONICtime domain. yes, that domain. don't @ me π
π₯ DESCRIPTION π₯
so what does it actually do? it signals completion for software callbacks on a fence β which is a fancy way of saying it will unblock dma_fence_wait calls and run all the callbacks that were added with dma_fence_add_callback. it's giving "everyone waiting in the group chat finally gets the reply" energy πβ¨
here's the part you need to know though: you can call it multiple times, but since a fence can only go from the unsignaled state to the signaled state and not back, it will only be effective the first time. so like, the first call ate and left no crumbs; every call after that is just standing there π
oh and also β it sets the timestamp you provide as the fence signal timestamp. slay π
π SEE ALSO π
the whole friend group, no cap:
- 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_locked(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)
ngl bestie, this one's short but it's a whole moment. first call only. remember that. π
kay that's the whole page, mwah π this lil beauty comes from ./drivers/dma-buf, dated October 2026, and it's filed under dma_fence_signal_timestamp(9) β iykyk π§π
π¦ 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