xe_exec_queu...st_fence_set(9)
π xe_exec_queue_last_fence_set
okay so bestie, this is a page straight outta the Kernel API Manual β we're deep in kernel-doc territory, (9) section and all, and it's literally called xe_exec_queue_last_fence_set. Yes, the manpage title got truncated by whatever tool generated it (xe_exec_queu...st_fence_set), and no, we are not fixing it, it's part of the vibe now. π
β¨ NAME β¨
xe_exec_queue_last_fence_set β set last fence. That's it, that's the whole job. Short king of a name, does exactly what it says on the tin. π
π¦ SYNOPSIS π¦
void xe_exec_queue_last_fence_set (struct xe_exec_queue *q , struct
xe_vm *vm , struct dma_fence *fence );
look at her. three args, returns nothing, absolutely zero thoughts behind those eyes. void return, so no comeback era, she just does the thing and leaves. π
πΈ ARGUMENTS πΈ
qβ the exec queue. the main character of this whole operation, ngl.vmβ the VM that the engine does a bind or exec for. she's the context, the setting, the world-building. π«Άfenceβ the fence. that's it, that's the description. iconic minimalism, no notes. β¨
π DESCRIPTION π
So what's actually happening? You're setting the last fence for the engine. simple. clean. slay.
But here's the part you cannot skip, bestie, because this is the β οΈ important β οΈ bit:
this call increases the reference count forfence. so when you're closing the engine, you must callxe_exec_queue_last_fence_putβ otherwise that refcount is just sitting there, un-decremented, living rent free. π don't do that to her. clean up after yourself. periodt.
π SEE ALSO π
okay this list is long β like, genuinely a whole group chat of exec queue functions β but they all matter, so here's the entire squad, no cap. every single one, in order: π§
- Kernel file
./drivers/gpu/drm/xe/xe_exec_queue.c Execution Queue(9)Multi Queue Group(9)xe_exec_queue_get_lrc(9)xe_exec_queue_lrc(9)xe_exec_queue_create(9)xe_exec_queue_create_class(9)xe_exec_queue_create_bind(9)xe_exec_queue_destroy(9)xe_exec_queue_fini(9)xe_exec_queue_assign_name(9)xe_exec_queue_lookup(9)xe_exec_queue_device_get_max_priority(9)xe_exec_queue_set_property_ioctl(9)xe_exec_queue_create_ioctl(9)xe_exec_queue_get_property_ioctl(9)xe_exec_queue_is_lr(9)xe_exec_queue_is_idle(9)xe_exec_queue_update_run_ticks(9)xe_exec_queue_kill(9)xe_exec_queue_destroy_ioctl(9)xe_exec_queue_last_fence_put(9)xe_exec_queue_last_fence_put_unlocked(9)xe_exec_queue_last_fence_get(9)xe_exec_queue_last_fence_get_for_resume(9)xe_exec_queue_tlb_inval_last_fence_put(9)xe_exec_queue_tlb_inval_last_fence_put_unlocked(9)xe_exec_queue_tlb_inval_last_fence_get(9)xe_exec_queue_tlb_inval_last_fence_set(9)xe_exec_queue_contexts_hwsp_rebase(9)
like I said. whole squad. π₯
π sign-off π
this lil masterpiece lives in ./drivers/gpu/drm/xe (yes, the October 2026 edition, she's fresh π), and it's filed under the section-9 name xe_exec_queu...st_fence_set(9) β truncated title and all, we stan a consistent filename. go set some fences, bestie. bye!! πΈπ¦π
π¦ 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