[PATCH v3 03/19] drm/xe/vm: Add attributes struct as member of vma
Matthew Brost
matthew.brost at intel.com
Wed May 28 16:46:54 UTC 2025
On Tue, May 27, 2025 at 10:09:47PM +0530, Himal Prasad Ghimiray wrote:
> The attribute of xe_vma will determine the migration policy and the
> encoding of the page table entries (PTEs) for that vma.
> This attribute helps manage how memory pages are moved and how their
> addresses are translated. It will be used by madvise to set the
> behavior of the vma.
>
> Signed-off-by: Himal Prasad Ghimiray <himal.prasad.ghimiray at intel.com>
> ---
> drivers/gpu/drm/xe/xe_vm_types.h | 20 ++++++++++++++++++++
> 1 file changed, 20 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_vm_types.h b/drivers/gpu/drm/xe/xe_vm_types.h
> index bfc145baad49..5d4bbe547d0d 100644
> --- a/drivers/gpu/drm/xe/xe_vm_types.h
> +++ b/drivers/gpu/drm/xe/xe_vm_types.h
> @@ -77,6 +77,19 @@ struct xe_userptr {
> #endif
> };
>
> +/**
> + * struct xe_vma_mem_attr - memory attributes associated with vma
> + */
> +struct xe_vma_mem_attr {
> + /** @preferred_loc: perferred memory_location*/
> + struct {
/** @preferred_loc.migration_policy: ... */
> + u32 migration_policy; /* represents migration policies */
/** @preferred_loc.devmem_fd: ... */
I'd also mention that -1, 0 mean system memory or closes device memory */
Matt
> + u32 devmem_fd; /* devmem_fd used for determining pagemap_fd requested by user */
> + } preferred_loc;
> + /** @atomic_access: The atomic access type for the vma */
> + u32 atomic_access;
> +};
> +
> struct xe_vma {
> /** @gpuva: Base GPUVA object */
> struct drm_gpuva gpuva;
> @@ -128,6 +141,13 @@ struct xe_vma {
> * Needs to be signalled before UNMAP can be processed.
> */
> struct xe_user_fence *ufence;
> +
> + /**
> + * @attr: The attributes of vma which determines the migration policy
> + * and encoding of the PTEs for this vma.
> + */
> + struct xe_vma_mem_attr attr;
> +
> };
>
> /**
> --
> 2.34.1
>
More information about the Intel-xe
mailing list