STRUCT XE_MEM_POOL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct xe_mem_pool(9) ✨

okay bestie, welcome to the Kernel API Manual page for struct xe_mem_pool β€” literally the DRM MM pool for sub-allocating memory from a BO on an XE tile πŸ’…


🌸 NAME 🌸

struct xe_mem_pool β€” DRM MM pool for sub-allocating memory from a BO on an XE tile. no cap, that's the whole vibe 🫢


πŸŽ€ SYNOPSIS πŸŽ€

struct xe_mem_pool {
    struct drm_mm base;
    struct xe_bo *bo;
    struct xe_bo *shadow;
    struct mutex swap_guard;
    void *cpu_addr;
    bool is_iomem;
 };

πŸ¦‹ Members πŸ¦‹

  • base β€” Range allocator over [0, size) in bytes. she's giving range-manager main character energy ✨
  • bo β€” Active pool BO (GGTT-pinned, CPU-mapped). iconic, pinned, and mapped πŸ’–
  • shadow β€” Shadow BO for atomic command updates. lowkey the understudy that still slays πŸ‘‘
  • swap_guard β€” Timeline guard updating bo and shadow. protecting the swap, fr fr πŸ›‘οΈ
  • cpu_addr β€” CPU virtual address of the active BO. the CPU-side address bestie πŸ’…
  • is_iomem β€” Indicates if the BO mapping is I/O memory. yes, that kind of memory 🌈

πŸ’œ Description πŸ’œ

The XE memory pool is a DRM MM manager that provides sub-allocation of memory from a backing buffer object (BO) on a specific XE tile. It is designed to manage memory for GPU workloads, allowing for efficient allocation and deallocation of memory regions within the BO. periodt πŸ’«

The memory pool maintains a primary BO that is pinned in the GGTT and mapped into the CPU address space for direct access. Optionally, it can also maintain a shadow BO that can be used for atomic updates to the primary BO's contents. okay versatile queen πŸŽ€

The API provided by the memory pool allows clients to allocate and free memory regions, retrieve GPU and CPU addresses, and synchronize data between the primary and shadow BOs as needed. literally all the essentials, no notes πŸ”₯


⭐ SEE ALSO ⭐

Kernel file ./drivers/gpu/drm/xe/xe_mem_pool.c


and that's the page, bestie πŸ’– shoutout to the source/version path ./drivers/gpu/drm/xe and the date October 2026 β€” cute sign-off, mwah 🫢✨

πŸ“¦ where this page comes from