All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 0/7] drm/xe: add page size allocation mode control and coverage
@ 2026-07-14 10:55 Himal Prasad Ghimiray
  2026-07-14 10:55 ` [PATCH v7 1/7] drm/xe: add page size allocation control state to xe_device Himal Prasad Ghimiray
                   ` (10 more replies)
  0 siblings, 11 replies; 17+ messages in thread
From: Himal Prasad Ghimiray @ 2026-07-14 10:55 UTC (permalink / raw)
  To: intel-xe; +Cc: Himal Prasad Ghimiray

Some platforms support multiple page sizes for user BO allocations,
including 4K, 64K, 2M, and 1G

For validation and debug, it is useful to control the page size
selection policy for user BOs so that specific allocation paths can be
exercised deterministically. In particular, this makes it possible to
force allocations into 2M-only, 1G-only, or mixed modes.

In mixed mode, allocations are distributed across the supported page
sizes in a round-robin manner. For example, for four user BOs, the
selected page sizes would be:
  - BO1: 4K
  - BO2: 64K
  - BO3: 2M
  - BO4: 1G

This series adds debug page-size allocation control for user BO in xe

This series includes:
 - debug control state in xe_device
 - a debugfs knob to select allocation mode
 - 1G BO alignment flag handling
 - debug policy application at user BO create time
 - propagation into VMA map flags
 - PT bind support for selecting leaf level (4K/64K, 2M, 1G paths)
 - add live Kunit coverage for BO page size allocation

The default path is unchanged when the debug control is not enabled.

v2
-- addressed v1 comments at 
   https://patchwork.freedesktop.org/series/169640/

v3
- refactor the design
- update patches based on review feedback
- due to space missing after drm/xe: it created a new series
  https://patchwork.freedesktop.org/series/170246/

v4
- initialize page-size control state before userspace-visible
  registration
- add Kconfig support before CONFIG_DRM_XE_DEBUG_PAGE_SIZE users
- limit debugfs and BO policy handling to supported dGFX VRAM paths
- add fast-path mode checks and ALIGN() overflow handling
- preserve existing BO NEEDS_* flags
- defer mixed-mode index advancement until successful
  BO create ioctl completion
- replace 2M/1G vma_flags propagation with stable target_leaf_level
  state
- propagate target_leaf_level from bind op to VMA and into PT bind
- allow smaller huge-page fallback and fix clear_pt handling in PT walk
- skip VRAM-only live KUnit tests on non-dGFX
  and restore state on all exits

v5:
- Guard debug page-size control support with
  CONFIG_DRM_XE_DEBUG_PAGE_SIZE
- Fix kernel-doc warnings in xe_device_types.h for page_size_alloc_ctrl
- Keep the normal BO creation path unchanged when no debug mode is
  selected
- Reword commit messages for clarity and to match the implementation

v6:
- Add Gaurd to kunit tests

v7:
- CI build failure

Nareshkumar Gollakoti (7):
  drm/xe: add page size allocation control state to xe_device
  drm/xe/debugfs: add page-size allocation mode knob
  drm/xe: add XE_BO_FLAG_NEEDS_1G for minimum page-size sizing
  drm/xe: apply debug page-size allocation policy to user BOs
  drm/xe/vm: propagate BO page-size requirements to VMA map flags
  drm/xe/pt: allow selecting the bind leaf PTE level
  drm/xe/tests: add live KUnit coverage for BO page-size allocation
    modes

 drivers/gpu/drm/xe/Kconfig.debug            |  16 ++
 drivers/gpu/drm/xe/tests/xe_bo.c            | 240 ++++++++++++++++++++
 drivers/gpu/drm/xe/tests/xe_live_test_mod.c |   6 +
 drivers/gpu/drm/xe/xe_bo.c                  | 166 +++++++++++++-
 drivers/gpu/drm/xe/xe_bo.h                  |   1 +
 drivers/gpu/drm/xe/xe_debugfs.c             |  62 +++++
 drivers/gpu/drm/xe/xe_device.c              |  13 +-
 drivers/gpu/drm/xe/xe_device.h              |  30 +++
 drivers/gpu/drm/xe/xe_device_types.h        |  31 +++
 drivers/gpu/drm/xe/xe_pt.c                  |  53 ++++-
 drivers/gpu/drm/xe/xe_vm.c                  |  30 +++
 drivers/gpu/drm/xe/xe_vm_types.h            |   9 +
 12 files changed, 652 insertions(+), 5 deletions(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2026-07-16 12:28 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-14 10:55 [PATCH v7 0/7] drm/xe: add page size allocation mode control and coverage Himal Prasad Ghimiray
2026-07-14 10:55 ` [PATCH v7 1/7] drm/xe: add page size allocation control state to xe_device Himal Prasad Ghimiray
2026-07-16 10:31   ` Ghimiray, Himal Prasad
2026-07-14 10:55 ` [PATCH v7 2/7] drm/xe/debugfs: add page-size allocation mode knob Himal Prasad Ghimiray
2026-07-16 11:11   ` Ghimiray, Himal Prasad
2026-07-14 10:55 ` [PATCH v7 3/7] drm/xe: add XE_BO_FLAG_NEEDS_1G for minimum page-size sizing Himal Prasad Ghimiray
2026-07-16 11:38   ` Ghimiray, Himal Prasad
2026-07-14 10:55 ` [PATCH v7 4/7] drm/xe: apply debug page-size allocation policy to user BOs Himal Prasad Ghimiray
2026-07-16 12:02   ` Ghimiray, Himal Prasad
2026-07-14 10:55 ` [PATCH v7 5/7] drm/xe/vm: propagate BO page-size requirements to VMA map flags Himal Prasad Ghimiray
2026-07-16 12:28   ` Ghimiray, Himal Prasad
2026-07-14 10:55 ` [PATCH v7 6/7] drm/xe/pt: allow selecting the bind leaf PTE level Himal Prasad Ghimiray
2026-07-14 10:55 ` [PATCH v7 7/7] drm/xe/tests: add live KUnit coverage for BO page-size allocation modes Himal Prasad Ghimiray
2026-07-14 11:32 ` ✓ CI.KUnit: success for drm/xe: add page size allocation mode control and coverage (rev5) Patchwork
2026-07-14 11:48 ` ✗ CI.checksparse: warning " Patchwork
2026-07-14 12:23 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-07-14 17:22 ` ✗ Xe.CI.FULL: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.