xe_migrate_job_lock(9)
π
xe_migrate_job_lock β NAME
okay bestie, welcome to the Kernel API Manual β¨ and today's main character is xe_migrate_job_lock β literally "Lock migrate job lock" π like yes that's the whole name and she's serving exactly what she says on the tin π«Ά
πΈ SYNOPSIS
void xe_migrate_job_lock (struct xe_migrate *m , struct xe_exec_queue *q
);
ngl the synopsis is short and iconic, just how we like it π note the space before those commas, that's canon, we don't touch it π
β¨ ARGUMENTS
mβ the migration context π§ that's your whole migration situation right there.qβ the queue that's tied to whatever operation needs this lock π₯ queue associated with the operation which requires a lock, periodt.
π₯ DESCRIPTION
okay so here's the vibe check π it locks the migrate job lock if the queue is a migration queue π
but if it is not a migration queue? then it asserts that the VM's dma-resv is held π because user queues have their own locking, iykyk. no cap, that's the whole behaviour β lock in one case, assert in the other π¦
lowkey important: this is an assertion, not a "please hold this for me" β the dma-resv has to already be held for the user-queue path π
π SEE ALSO
- Kernel file
./drivers/gpu/drm/xe/xe_migrate.cβ struct xe_migrate(9)xe_migrate_alloc(9)xe_migrate_init(9)xe_migrate_copy(9)xe_migrate_resolve(9)xe_migrate_lrc(9)xe_migrate_ccs_rw_copy(9)xe_migrate_ccs_rw_copy_clear(9)xe_migrate_exec_queue(9)xe_migrate_vram_copy_chunk(9)xe_migrate_clear(9)xe_migrate_update_pgtables(9)xe_migrate_wait(9)xe_migrate_to_vram(9)xe_migrate_from_vram(9)xe_migrate_access_memory(9)xe_migrate_job_unlock(9)xe_migrate_job_lock_assert(9)
and that's the post π this little masterpiece lives in ./drivers/gpu/drm/xe, dated October 2026 π go read the whole migrate family, they ate fr fr πβ¨
π¦ 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