[PATCH v4 6/9] drm/xe: Add VM.uapi_flags to VM snapshot capture
Cavitt, Jonathan
jonathan.cavitt at intel.com
Wed May 7 20:36:39 UTC 2025
-----Original Message-----
From: Intel-xe <intel-xe-bounces at lists.freedesktop.org> On Behalf Of Matthew Brost
Sent: Wednesday, May 7, 2025 1:16 PM
To: intel-xe at lists.freedesktop.org
Cc: Souza, Jose <jose.souza at intel.com>; Santa, Carlos <carlos.santa at intel.com>; Venkatesh Reddy, Sushma <sushma.venkatesh.reddy at intel.com>
Subject: [PATCH v4 6/9] drm/xe: Add VM.uapi_flags to VM snapshot capture
>
> Add VM.uapi_flags to VM snapshot capture VM snapshot capture. This is
> useful information for debug and will help build a robust GPU hang
> replay tool.
>
> The current format is:
>
> VM.uapi_flags: 0x%x
>
> Cc: José Roberto de Souza <jose.souza at intel.com>
> Signed-off-by: Matthew Brost <matthew.brost at intel.com>
LGTM.
Reviewed-by: Jonathan Cavitt <jonathan.cavitt at intel.com>
-Jonathan Cavitt
> ---
> drivers/gpu/drm/xe/xe_vm.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/gpu/drm/xe/xe_vm.c b/drivers/gpu/drm/xe/xe_vm.c
> index 5af2e79ae34e..ef1736fc0c2f 100644
> --- a/drivers/gpu/drm/xe/xe_vm.c
> +++ b/drivers/gpu/drm/xe/xe_vm.c
> @@ -3723,6 +3723,7 @@ int xe_vm_validate_protected(struct xe_vm *vm)
> }
>
> struct xe_vm_snapshot {
> + int uapi_flags;
> unsigned long num_snaps;
> struct {
> u64 ofs, bo_ofs;
> @@ -3762,6 +3763,13 @@ struct xe_vm_snapshot *xe_vm_snapshot_capture(struct xe_vm *vm)
> goto out_unlock;
> }
>
> + if (vm->flags & XE_VM_FLAG_FAULT_MODE)
> + snap->uapi_flags |= DRM_XE_VM_CREATE_FLAG_FAULT_MODE;
> + if (vm->flags & XE_VM_FLAG_LR_MODE)
> + snap->uapi_flags |= DRM_XE_VM_CREATE_FLAG_LR_MODE;
> + if (vm->flags & XE_VM_FLAG_SCRATCH_PAGE)
> + snap->uapi_flags |= DRM_XE_VM_CREATE_FLAG_SCRATCH_PAGE;
> +
> snap->num_snaps = num_snaps;
> i = 0;
> drm_gpuvm_for_each_va(gpuva, &vm->gpuvm) {
> @@ -3876,6 +3884,7 @@ void xe_vm_snapshot_print(struct xe_vm_snapshot *snap, struct drm_printer *p)
> return;
> }
>
> + drm_printf(p, "VM.uapi_flags: 0x%x\n", snap->uapi_flags);
> for (i = 0; i < snap->num_snaps; i++) {
> drm_printf(p, "[%llx].length: 0x%lx\n", snap->snap[i].ofs, snap->snap[i].len);
>
> --
> 2.34.1
>
>
More information about the Intel-xe
mailing list