Re: [PATCH v2 0/4] Introduce PF-mem VRAM regions

Matthew Auld <[email protected]>
Newsgroups org.freedesktop.lists.intel-xe
Message-ID <[email protected]>
On 21/08/2026 10:45, Piórkowski, Piotr wrote:
> From: Piotr Piórkowski <[email protected]>
> 
> This series lays the groundwork for PF-mem regions: VRAM regions
> dedicated to kernel-only allocations, where buffers are allocated
> exclusively by the kernel driver and are never exposed to userspace
> workloads.
> 
> Today a tile exposes a single VRAM region shared by both kernel and
> userspace allocations. Some use cases need a separate VRAM region
> carved out of a tile and reserved for the kernel driver only. For

Do you have a sketch in mind for how this will look? Do you take the 
normal VRAM region and reserve a contig piece of it using the allocator, 
forming your kernel-only region? Or do you partition VRAM into two 
different regions?  How do you choose the offset and size? Does this 
come from the KMD or is this fw/hw?

> example, on an SR-IOV PF most of the tile VRAM is provisioned to VFs;
> the kernel driver still needs its own allocations, which must come from
> a region reserved for the kernel and kept apart from the VRAM handed
> out to VFs. That reserved kernel region is what PF-mem provides.
> 
> To support this, the VRAM region abstraction needs a way to distinguish
> regions by purpose, dedicated TTM placements so the BO paths can route
> and evict such buffers correctly, and helpers to create a region from a
> caller-provided parent, offset, and size.
> 
> v1 -> v2:
>   - Add comments explaining why PF-mem is excluded from user BO eviction
>     (Sashiko).
>   - Resolve xe_ttm_vram_mgr_alloc_sgt() physical address via
>     xe_map_resource_to_region() instead of the tile's
>     VRAM region (Sashiko).
>   - Enforce page alignment on offset/size and guard against a NULL
>     parent BAR mapping (Sashiko)
> 
> Piotr Piórkowski (4):
>    drm/xe/vram: Add binding information to VRAM regions
>    drm/xe/ttm: Add PF-mem VRAM placement types for TTM
>    drm/xe/vram: Add initial support for PF-mem regions
>    drm/xe/kunit: Add tests for PF-mem regions
> 
>   drivers/gpu/drm/xe/tests/xe_vram.c   | 115 +++++++++++++++++++++++++++
>   drivers/gpu/drm/xe/xe_bo.c           |  16 +++-
>   drivers/gpu/drm/xe/xe_bo.h           |  17 ++++
>   drivers/gpu/drm/xe/xe_bo_evict.c     |   7 +-
>   drivers/gpu/drm/xe/xe_pm.c           |   4 +-
>   drivers/gpu/drm/xe/xe_res_cursor.h   |   9 ++-
>   drivers/gpu/drm/xe/xe_tile.c         |  10 ++-
>   drivers/gpu/drm/xe/xe_ttm_vram_mgr.c |   9 +--
>   drivers/gpu/drm/xe/xe_vram.c         |  90 +++++++++++++++++++--
>   drivers/gpu/drm/xe/xe_vram.h         |  10 ++-
>   drivers/gpu/drm/xe/xe_vram_types.h   |  14 +++-
>   11 files changed, 275 insertions(+), 26 deletions(-)
>   create mode 100644 drivers/gpu/drm/xe/tests/xe_vram.c
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.