xe_exec_queue_create_bind(9)
hii bestie π you've found the xe_exec_queue_create_bind(9) page in the Kernel API Manual β and oml this one is literally about creating a bind exec queue. Let's get into it β¨
π NAME π
xe_exec_queue_create_bind β create a bind exec queue. That's the whole vibe π
β¨ SYNOPSIS β¨
struct xe_exec_queue * xe_exec_queue_create_bind (struct xe_device *xe ,
struct xe_tile *tile , struct xe_vm *user_vm , u32 flags , u64
extensions );
π«Ά ARGUMENTS π«Ά
xeβ the Xe device.tileβ the tile that this bind exec queue belongs to.user_vmβ the user VM this exec queue belongs to.flagsβ exec queue creation flags.extensionsβ exec queue creation extensions.
π DESCRIPTION π
Okay so the whole point of this function is normalizing bind exec queue creation. A bind exec queue is tied to the migration VM, because it needs access to the physical memory required for page table programming. slay.
On faulting devices, the reserved copy engine instance must be used β no cap, this is how you avoid deadlocking. Why? Because user binds cannot get stuck behind faults, since the kernel binds that resolve faults depend on user binds π
On non-faulting devices, any copy engine can be used. easy peasy β¨
Returns: the exec queue on success, or ERR_PTR on failure.
π¦ SEE ALSO π¦
Kernel file: ./drivers/gpu/drm/xe/xe_exec_queue.c β this is where the code lives, iykyk π§
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_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_last_fence_set(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)
this cutie comes from the ./drivers/gpu/drm/xe source, dated October 2026, for xe_exec_queue_create_bind(9) β byeee bestie, go create those bind exec queues responsibly ππ¦
π¦ 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