STRUCT XE_MIGRATE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– 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 this struct xe_migrate belongs to. It knows its home tile, no cap 🏠
  • job_mutex β€” timeline mutex for eng. Lock behavior, iconic πŸ”’
  • pt_bo β€” page-table buffer object. The pt_bo bestie, 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 of cleared_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-fence representing the last migration job batch. > Protected by job_mutex. So do not touch without the lock, periodt πŸ”
  • vm_update_sa β€” for integrated, used to suballocate page-tables out of the pt_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:


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