STRUCT XE_MIGRATE(9)
π NAME π
okay so bestie, this page is straight out of the Kernel API Manual and itβs literally called struct xe_migrate β migrate context. Thatβs the whole vibe: itβs the migrate context struct, and weβre about to meet every single field like itβs a group-chat roster π
β¨
β¨ SYNOPSIS β¨
struct xe_migrate {
struct xe_exec_queue *q;
struct xe_tile *tile;
struct mutex job_mutex;
struct xe_bo *pt_bo;
u64 batch_base_ofs;
u64 usm_batch_base_ofs;
u64 cleared_mem_ofs;
u64 large_page_copy_ofs;
u64 large_page_copy_pdes;
struct dma_fence *fence;
struct drm_suballoc_manager vm_update_sa;
u64 min_chunk_size;
};
π Members π
qβ default exec queue used for migration. Yes bestie, this is the main character queue for the migration situation πtileβ backpointer to the tile thisstruct xe_migratebelongs to. It knows its home tile, no cap πjob_mutexβ timeline mutex foreng. Lock behavior, iconic πpt_boβ page-table buffer object. Thept_bobestie, keeping page tables cute πβ¨batch_base_ofsβ VM offset of the migration batch buffer. Offset queen πusm_batch_base_ofsβ VM offset of the usm batch buffer. Another offset, another slay π«cleared_mem_ofsβ VM offset ofcleared_bo. Literally what it says π§Όlarge_page_copy_ofsβ VM offset of 2M pages used for large copies. 2M pages, big-copy energy π₯large_page_copy_pdesβ BO offset to writeout 2M pages (PDEs) used for large copies. PDEs getting their own offset moment π«Άfenceβdma-fencerepresenting the last migration job batch. > Protected byjob_mutex. So do not touch without the lock, periodt πvm_update_saβ for integrated, used to suballocate page-tables out of thept_bo. Suballocating page-tables, we love to see it π§©min_chunk_sizeβ for dgfx, Minimum chunk size. Keep it chunky, keep it minimum π
π SEE ALSO π
The kernel file bestie is ./drivers/gpu/drm/xe/xe_migrate.c, and the whole friend group is:
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_lock(9)xe_migrate_job_unlock(9)xe_migrate_job_lock_assert(9)
This iconic page lives at ./drivers/gpu/drm/xe and itβs stamped October 2026 β love that for us, mwah ππ«Άπ
π¦ 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