STRUCT IVPU_JOB(9)
β¨ struct ivpu_job(9) β¨
okay bestie, welcome to the Kernel API Manual π β yes we're doing kernel docs now, and honestly? iconic. this one's all about struct ivpu_job, so grab a lil snack and let's get into it π
π NAME π
struct ivpu_job β the whole vibe of a batch or DMA buffer that's been submitted to the VPU π¦ Each job is literally a unit of execution, tracked by job_id so the VPU FW can report back on its status. This structure is the main character: it holds every resource and all the metadata you need for job submission, execution, and completion handling. periodt β¨
πΈ SYNOPSIS πΈ
struct ivpu_job {
struct ivpu_device *vdev;
struct ivpu_file_priv *file_priv;
struct dma_fence *done_fence;
struct llist_node destroy_node;
u64 cmd_buf_vpu_addr;
u32 cmdq_id;
u32 job_id;
u32 engine_idx;
u32 job_status;
struct ivpu_bo *primary_preempt_buf;
struct ivpu_bo *secondary_preempt_buf;
size_t bo_count;
struct ivpu_bo *bos[];
};
like, look at her. stunning. no notes π
π§ Members π§
vdevβ a pointer to the VPU device π«Ά your home base, iykykfile_privβ the client context that submitted this job. so like, who's responsible for this one πdone_fenceβ the fence that gets signaled when the job completes β closure, finallydestroy_nodeβ list node for deferred resource cleanup after the job completes π§Ή the lil cleanup crew that shows up after the partycmd_buf_vpu_addrβ the VPU address of the command buffer for this job π where the magic livescmdq_idβ command queue ID used for submission π―job_idβ unique job ID for tracking and status reporting. this is her government name, fr fr πͺͺengine_idxβ engine index for job execution π₯job_statusβ the status reported by firmware for this job π the report cardprimary_preempt_bufβ primary preemption buffer for the job π main character buffersecondary_preempt_bufβ secondary preemption buffer for the job (optional) π the understudy, only sometimes invitedbo_countβ number of buffer objects associated with this job π’bosβ array of buffer objects used by the job (the batch buffer is at index0) π index zero is THE spot, no cap
π SEE ALSO π
- Kernel file
./drivers/accel/ivpu/ivpu_job.h struct ivpu_cmdq(9)
and that's the whole page, bestie π go forth and submit jobs responsibly. this lil masterpiece lives over in ./drivers/accel/ivpu, dated October 2026 β so like, future girlie behavior but make it kernel πΈβ¨π¦
π¦ 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