[PATCH v4 0/6] drm/xe/xe_vm: Implement xe_vm_get_property_ioctl
Jonathan Cavitt
jonathan.cavitt at intel.com
Mon Mar 3 22:00:16 UTC 2025
Add additional information to each VM so they can report up to the last
50 seen pagefaults. Only failed pagefaults are saved this way, as
successful pagefaults should recover and not need to be reported to
userspace.
Additionally, add a new ioctl - xe_vm_get_property_ioctl - that allows the
user to query these pagefaults
v2: (Matt Brost)
- Break full ban list request into a separate property.
- Reformat drm_xe_vm_get_property struct.
- Remove need for drm_xe_faults helper struct.
- Separate data pointer and scalar return value in ioctl.
- Get address type on pagefault report and save it to the pagefault.
- Correctly reject writes to read-only VMAs.
- Miscellaneous formatting fixes.
v3: (Matt Brost)
- Only allow querying of failed pagefaults
v4:
- Remove unnecessary size parameter from helper function, as it
is a property of the arguments. (jcavitt)
- Remove unnecessary copy_from_user (Jainxun)
- Set address_precision to 1 (Jainxun)
- Report max size instead of dynamic size for memory allocation
purposes. Total memory usage is reported separately.
Signed-off-by: Jonathan Cavitt <joanthan.cavitt at intel.com>
Suggested-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
Suggested-by: Matthew Brost <matthew.brost at intel.com>
CC: Zhang Jianxun <jianxun.zhang at intel.com>
Jonathan Cavitt (6):
drm/xe/xe_gt_pagefault: Disallow writes to read-only VMAs
drm/xe/xe_gt_pagefault: Migrate pagefault struct to header
drm/xe/xe_vm: Add per VM pagefault info
drm/xe/uapi: Define drm_xe_vm_get_property
drm/xe/xe_gt_pagefault: Add address_type field to pagefaults
drm/xe/xe_vm: Implement xe_vm_get_property_ioctl
drivers/gpu/drm/xe/xe_device.c | 3 +
drivers/gpu/drm/xe/xe_gt_pagefault.c | 66 +++++++--------
drivers/gpu/drm/xe/xe_gt_pagefault.h | 29 +++++++
drivers/gpu/drm/xe/xe_vm.c | 122 +++++++++++++++++++++++++++
drivers/gpu/drm/xe/xe_vm.h | 8 ++
drivers/gpu/drm/xe/xe_vm_types.h | 20 +++++
include/uapi/drm/xe_drm.h | 67 +++++++++++++++
7 files changed, 281 insertions(+), 34 deletions(-)
--
2.43.0
More information about the dri-devel
mailing list