STRUCT XE_VMA_MEM_ATTR(9)
β¨ struct xe_vma_mem_attr(9) β¨
okay bestie, welcome to the Kernel API Manual page for struct xe_vma_mem_attr β yes, itβs the memory-attributes-associated-with-vma situation, and weβre gonna go through every single field together. no cap, not one skipped. π
π NAME π
struct xe_vma_mem_attr β memory attributes associated with vma
π SYNOPSIS π
okay so the struct is literally this, and Iβm keeping it exactly as-is because we do not mess with code, periodt:
struct xe_vma_mem_attr {
struct xe_vma_preferred_loc {
u32 migration_policy;
u32 devmem_fd;
struct drm_pagemap *dpagemap;
} preferred_loc;
u32 atomic_access;
u16 default_pat_index;
u16 pat_index;
u32 purgeable_state;
};
π Members π
hereβs the member-by-member breakdown, bestie. every field is main character and we are not skipping a single one:
preferred_locβ preferred memory_locationpreferred_loc.migration_policyβ Pages migration policypreferred_loc.devmem_fdβ used for determiningpagemap_fdrequested by user.DRM_XE_PREFERRED_LOC_DEFAULT_SYSTEMandDRM_XE_PREFERRED_LOC_DEFAULT_DEVICEmean system memory or closest device memory respectively.preferred_loc.dpagemapβ Reference-counted pointer to thedrm_pagemappreferred for migration on a SVM page-fault. The pointer is protected by thevmlock, and isNULLifdevmem_fdshould be consulted for special values.
atomic_accessβ The atomic access type for the vma. SeeDRM_XE_VMA_ATOMIC_UNDEFINED,DRM_XE_VMA_ATOMIC_DEVICE,DRM_XE_VMA_ATOMIC_GLOBAL, andDRM_XE_VMA_ATOMIC_CPUfor possible values. These are defined inuapi/drm/xe_drm.h.default_pat_indexβ The pat index for VMA set during first bind by user.pat_indexβ The pat index to use when encoding the PTEs for this vma. same asdefault_pat_indexunless overwritten bymadvise.purgeable_stateβ Purgeable hint for this VMA mapping- Per-VMA purgeable state from
madvise. Valid states areWILLNEED(0) orDONTNEED(1). Shared BOs require all VMAs to beDONTNEEDbefore the BO can be purged.PURGEDstate exists only at BO level. - Protected by BO
dma-resvlock. Set viaDRM_IOCTL_XE_MADVISE.
- Per-VMA purgeable state from
π₯ SEE ALSO π₯
- Kernel file
./drivers/gpu/drm/xe/xe_vm_types.h struct xe_userptr_vma(9)struct xe_vm_fault_entry(9)
okay thatβs the whole page, bestie π«Ά this came from ./drivers/gpu/drm/xe, dated October 2026. xoxo, stay slay, and donβt forget the vm lock π
β¨
π¦ 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