From: Jonathan Cavitt <jonathan.cavitt@intel.com>
To: intel-xe@lists.freedesktop.org
Cc: saurabhg.gupta@intel.com, alex.zuo@intel.com,
jonathan.cavitt@intel.com, joonas.lahtinen@linux.intel.com,
matthew.brost@intel.com, jianxun.zhang@intel.com,
shuicheng.lin@intel.com, dri-devel@lists.freedesktop.org
Subject: [PATCH v5 0/6] drm/xe/xe_vm: Implement xe_vm_get_property_ioctl
Date: Tue, 4 Mar 2025 17:08:48 +0000 [thread overview]
Message-ID: <20250304170854.67195-1-jonathan.cavitt@intel.com> (raw)
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.
v5:
- Return int from xe_vm_get_property_size (Shuicheng)
- Fix memory leak (Shuicheng)
- Remove unnecessary size variable (jcavitt)
Signed-off-by: Jonathan Cavitt <joanthan.cavitt@intel.com>
Suggested-by: Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
Suggested-by: Matthew Brost <matthew.brost@intel.com>
CC: Zhang Jianxun <jianxun.zhang@intel.com>
CC: Shuicheng Lin <shuicheng.lin@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 | 120 +++++++++++++++++++++++++++
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, 279 insertions(+), 34 deletions(-)
--
2.43.0
next reply other threads:[~2025-03-04 17:08 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-04 17:08 Jonathan Cavitt [this message]
2025-03-04 17:08 ` [PATCH v5 1/6] drm/xe/xe_gt_pagefault: Disallow writes to read-only VMAs Jonathan Cavitt
2025-03-07 10:34 ` Gwan-gyeong Mun
2025-03-07 22:05 ` Cavitt, Jonathan
2025-03-04 17:08 ` [PATCH v5 2/6] drm/xe/xe_gt_pagefault: Migrate pagefault struct to header Jonathan Cavitt
2025-03-04 17:08 ` [PATCH v5 3/6] drm/xe/xe_vm: Add per VM pagefault info Jonathan Cavitt
2025-03-04 21:52 ` Lin, Shuicheng
2025-03-07 12:39 ` Gwan-gyeong Mun
2025-03-07 22:05 ` Cavitt, Jonathan
2025-03-04 17:08 ` [PATCH v5 4/6] drm/xe/uapi: Define drm_xe_vm_get_property Jonathan Cavitt
2025-03-04 17:08 ` [PATCH v5 5/6] drm/xe/xe_gt_pagefault: Add address_type field to pagefaults Jonathan Cavitt
2025-03-04 17:08 ` [PATCH v5 6/6] drm/xe/xe_vm: Implement xe_vm_get_property_ioctl Jonathan Cavitt
2025-03-04 20:37 ` Zhang, Jianxun
2025-03-04 22:27 ` Cavitt, Jonathan
2025-03-04 22:16 ` Lin, Shuicheng
2025-03-05 7:42 ` Cavitt, Jonathan
2025-03-04 18:17 ` ✓ CI.Patch_applied: success for drm/xe/xe_vm: Implement xe_vm_get_property_ioctl (rev6) Patchwork
2025-03-04 18:17 ` ✗ CI.checkpatch: warning " Patchwork
2025-03-04 18:18 ` ✓ CI.KUnit: success " Patchwork
2025-03-04 18:35 ` ✓ CI.Build: " Patchwork
2025-03-04 18:37 ` ✓ CI.Hooks: " Patchwork
2025-03-04 18:39 ` ✓ CI.checksparse: " Patchwork
2025-03-04 18:58 ` ✗ Xe.CI.BAT: failure " Patchwork
2025-03-04 20:59 ` ✗ Xe.CI.Full: " Patchwork
2025-03-04 23:46 ` ✗ CI.Patch_applied: failure for drm/xe/xe_vm: Implement xe_vm_get_property_ioctl (rev7) Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250304170854.67195-1-jonathan.cavitt@intel.com \
--to=jonathan.cavitt@intel.com \
--cc=alex.zuo@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jianxun.zhang@intel.com \
--cc=joonas.lahtinen@linux.intel.com \
--cc=matthew.brost@intel.com \
--cc=saurabhg.gupta@intel.com \
--cc=shuicheng.lin@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox