xe_preempt_fence_alloc(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ xe_preempt_fence_alloc(9) ✨

okay so, bestie, welcome to the Kernel API Manual β€” this page is xe_preempt_fence_alloc(9), and it's giving β€œtiny allocator with big responsibilities” energy πŸŽ€

🌸 NAME 🌸

xe_preempt_fence_alloc β€” allocate a preempt fence with minimal initialization. That's the whole assignment: make the fence, keep the setup tiny πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

the signature is literally this, no cap:

struct xe_preempt_fence * xe_preempt_fence_alloc (void );

πŸŽ€ ARGUMENTS πŸŽ€

  • void β€” no arguments. not a single one. the void ate and left no crumbs 🫢

πŸ’– DESCRIPTION πŸ’–

So this one allocates a preempt fence, and initializes its list head. That's the β€œminimal initialization” vibe β€” it's not doing a whole main-character backstory for you.

⚠️ bestie, this part is important: if the preempt_fence you allocated has been armed with xe_preempt_fence_arm, it must be freed using dma_fence_put. If it has not been armed, it must be freed using xe_preempt_fence_free. Do not mix those up, fr fr 😭

πŸ”₯ RETURN πŸ”₯

A struct xe_preempt_fence pointer used for calling into xe_preempt_fence_arm or xe_preempt_fence_free. An error pointer on error. periodt πŸ’€

πŸ‘‘ SEE ALSO πŸ‘‘


mwah πŸŽ€ signing off from source/version ./drivers/gpu/drm/xe, dated October 2026 β€” xe_preempt_fence_alloc(9), out πŸ’œ

πŸ“¦ where this page comes from