Re: [PATCH V17 00/12] Add memory page offlining support

Rodrigo Vivi <[email protected]>
Newsgroups org.freedesktop.lists.intel-xe
Message-ID <[email protected]>
On Tue, Aug 18, 2026 at 04:10:55PM +0530, Tejas Upadhyay wrote:
> This functionality represents a significant step in making
> the xe driver gracefully handle hardware memory degradation.
> By integrating with the DRM Buddy allocator, the driver
> can permanently "carve out" faulty memory so it isn't reused
> by subsequent allocations.
> 
> IGT tests for testing this via injecting simple single address and
> duplicate address fault to unit test functionality:
> https://patchwork.freedesktop.org/patch/740601/
> 
> v17:
> - Rebase on drm-tip
> - Enforce CONFIG_FAULT_INJECTION_DEBUG_FS for fault inject

Please stop quickly spinning revisions. That may be counter intuitive,
but fast revision spins might delay the progress.

Also, please ensure that any blocker raised by reviewers in the
previous versions are addressed before sending a new one!

And, it is always a good practice to CC the people that engaged
in previous reviews. Trying to respin without cc'ing them and
without addressing the previous asks or blockers just sound
like you are trying to by-pass the review process.

This series has a big blocker and should not get merged anytime
in this current format. Please go back to the drawing board and
fix the documentation and sync with other components. This is
not getting merged.

Thanks,
Rodrigo.

> v16:
> - Correct sysfs patches with moving code with rcu lock
> - In case purge fail let next alloc decide final failure
> - Remove addr_to_block API, its being pulled from drm-tip
> - Remove some unused code and replace where existing API can be used
> v15:
> - Split few big patches into small
> - Avoid vram_mgr lock in sysfs
> - fix missing queue_pages counter increment
> v14:
> - Solve sashiko reviews
> - Remove SOFT->HARD offline patch, decision is taken based on -EEXIST
> - Dump gpu buddy allocated patch dropped
> v13:
> - Add fault inject and remove standlone debugfs
> v12:
> - Fix Sashiko review comments
> v11:
> - Add BAN reason for UMD to know about offlining
> - Add support for soft offline mode
> - Rebase and remove dummy lockdep annotation patch, as it merged from upstream
> v10:
> - Remove RFC
> v7:
> - Improve debugfs warning messages
> - Use scope_guard for locking(MattB)
> - Adapt addition of queue member of LRC BO(MattB)
> - Extend and use xe_ttm_bo_purge API for vram pages(MattB)
> - Handle dma_buf_map requests for native and remote(MattB)
> - Address if in never initialized block, set block to NULL
> - Add lockdep in gpu buddy (MattB)
> - Correct allocated_addr_to_block logic (MattA)
> V6:
> - Add more specific tests to noncritical bo sections
> - Handle smooth exit of user created exec queues
> - Break code and make purge specific static API
> V5:
> - Sysfs "max_pages" addition
> - Reset block->private NULL post purge
> - Remove wedge, return -EIO to system controller will initiate reset
> - Add debugfs tests to trigger different test scenarios manually and via igt
> - Rename addr_to_tbo to addr_to_block and move under gpu/buddy.c
> V4: API reworks, add configfs for policy reservation and apply config everywhere
> V3: use res_to_mem_region to avoid use of block->private (MattA)
> V2:
> - some fixes and clean up on errors
> - Added xe_vram_addr_to_region helper to avoid other use of block->private(MattB)
> 
> Tejas Upadhyay (12):
>   drm/xe: Link VRAM object with gpu buddy
>   drm/xe: Link LRC BO and its execution Queue
>   drm/xe: Extend BO purge to handle vram pages as well
>   drm/xe/bo: Make xe_bo_is_user() public
>   drm/xe: Guard teardown paths against purged BOs
>   drm/xe/vram: Extract buddy alloc and free helpers
>   drm/xe/vram: Add page offline data structures and lifecycle
>   drm/xe/vram: Add VRAM page offline fault handler
>   drm/xe/configfs: Add vram bad page reservation  policy
>   drm/xe: Add sysfs interface for bad gpu vram pages
>   drm/xe/uapi: Expose ban reason in EXEC_QUEUE_GET_PROPERTY_BAN
>   drm/xe: Add fault-inject based VRAM page offline injection
> 
>  drivers/gpu/drm/xe/xe_bo.c                 |  13 +-
>  drivers/gpu/drm/xe/xe_bo.h                 |   5 +-
>  drivers/gpu/drm/xe/xe_bo_types.h           |   3 +
>  drivers/gpu/drm/xe/xe_configfs.c           |  67 ++-
>  drivers/gpu/drm/xe/xe_configfs.h           |   2 +
>  drivers/gpu/drm/xe/xe_debugfs.c            |  49 ++
>  drivers/gpu/drm/xe/xe_debugfs.h            |   2 +
>  drivers/gpu/drm/xe/xe_device_sysfs.c       |   7 +
>  drivers/gpu/drm/xe/xe_dma_buf.c            |   3 +
>  drivers/gpu/drm/xe/xe_exec_queue.c         |  14 +-
>  drivers/gpu/drm/xe/xe_exec_queue_types.h   |   7 +-
>  drivers/gpu/drm/xe/xe_execlist.c           |   4 +-
>  drivers/gpu/drm/xe/xe_guc_submit.c         |  32 +-
>  drivers/gpu/drm/xe/xe_lrc.c                |   1 +
>  drivers/gpu/drm/xe/xe_pt.c                 |   5 +-
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.c       | 604 ++++++++++++++++++++-
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr.h       |   3 +
>  drivers/gpu/drm/xe/xe_ttm_vram_mgr_types.h |  40 ++
>  include/uapi/drm/xe_drm.h                  |  18 +-
>  19 files changed, 834 insertions(+), 45 deletions(-)
> 
> -- 
> 2.52.0
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.