From: Matthew Brost <matthew.brost@intel.com>
To: Tejas Upadhyay <tejas.upadhyay@intel.com>
Cc: <intel-xe@lists.freedesktop.org>,
<himal.prasad.ghimiray@intel.com>, <rodrigo.vivi@intel.com>
Subject: Re: [PATCH V21 00/15] Add memory page offlining support
Date: Thu, 3 Sep 2026 21:33:26 -0700 [thread overview]
Message-ID: <appKFu13lcW6tJ7x@gsse-cloud1.jf.intel.com> (raw)
In-Reply-To: <20260903161553.528932-17-tejas.upadhyay@intel.com>
On Thu, Sep 03, 2026 at 09:45:53PM +0530, Tejas Upadhyay wrote:
This series is:
Acked-by: Matthew Brost <matthew.brost@intel.com>
I was going to merge this today but CI is taking a while, anyone with
push rights feel free to merge this on when CI comes back or I will take
another look at CI in the morning.
Matt
> 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/series/170555/#rev3
>
> v21(Sashiko/MattB):
> - Immediately offline pages if already free
> - With that remove some redundant code
> - Guard with lock before access to tbo
> - Add kernel doc in debugfs
> v20(Sashiko/MattB):
> - Retry failed queued pages during xe_ttm_vram_mgr_del()
> - xe_bo::q lifecycle fix
> - hold down_write while traversing exec_queue list
> - fix configfs default value + improve confusing read policy
> v19:
> - Sashiko review comment closure
> - Sliting of making xe_bo_ttm_purge() export and NULL handling
> - Remove redundant code in xe_ttm_vram_reserve_page_at_addr()
> - Resolve nit comments provided in configfs and debugfs
> v18:
> - Splitting out the sysfs patch; it will come later once it is redesigned
> - Address sashiko reivew comments
> - Add debugfs and adjust igt tests and fault injection
> v17:
> - Rebase on drm-tip
> - Enforce CONFIG_FAULT_INJECTION_DEBUG_FS for fault inject
> 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
>
> Tejas Upadhyay (15):
> drm/xe: Link VRAM resource allocation with gpu buddy
> drm/xe: Link LRC BO and its execution queue with safe lifetime rules
> drm/xe: Export xe_ttm_bo_purge()
> drm/xe: Handle NULL resource and allow purging of VRAM pages
> drm/xe/bo: Make xe_bo_is_user() public
> drm/xe: Guard teardown paths against purged BOs
> drm/xe/vram: Extract buddy allocation 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 disable_vram_page_offline attribute
> drm/xe/ras: Cache disable_vram_page_offline policy at init
> drm/xe/vram: Check disable_vram_page_offline policy in fault handler
> drm/xe: Expose bad VRAM pages via debugfs
> 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 | 25 +-
> drivers/gpu/drm/xe/xe_bo.h | 2 +
> drivers/gpu/drm/xe/xe_bo_types.h | 8 +
> drivers/gpu/drm/xe/xe_configfs.c | 72 ++-
> drivers/gpu/drm/xe/xe_configfs.h | 2 +
> drivers/gpu/drm/xe/xe_debugfs.c | 51 ++
> drivers/gpu/drm/xe/xe_debugfs.h | 2 +
> drivers/gpu/drm/xe/xe_dma_buf.c | 3 +
> drivers/gpu/drm/xe/xe_drm_ras_types.h | 3 +
> drivers/gpu/drm/xe/xe_exec_queue.c | 72 ++-
> 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 | 36 +-
> drivers/gpu/drm/xe/xe_ras.c | 9 +
> drivers/gpu/drm/xe/xe_ttm_vram_mgr.c | 600 ++++++++++++++++++++-
> 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 +-
> 18 files changed, 911 insertions(+), 46 deletions(-)
>
> --
> 2.52.0
>
next prev parent reply other threads:[~2026-09-04 4:33 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-03 16:15 [PATCH V21 00/15] Add memory page offlining support Tejas Upadhyay
2026-09-03 16:15 ` [PATCH V21 01/15] drm/xe: Link VRAM resource allocation with gpu buddy Tejas Upadhyay
2026-09-03 16:15 ` [PATCH V21 02/15] drm/xe: Link LRC BO and its execution queue with safe lifetime rules Tejas Upadhyay
2026-09-03 16:15 ` [PATCH V21 03/15] drm/xe: Export xe_ttm_bo_purge() Tejas Upadhyay
2026-09-03 16:15 ` [PATCH V21 04/15] drm/xe: Handle NULL resource and allow purging of VRAM pages Tejas Upadhyay
2026-09-03 17:08 ` sashiko-bot
2026-09-03 16:15 ` [PATCH V21 05/15] drm/xe/bo: Make xe_bo_is_user() public Tejas Upadhyay
2026-09-03 16:15 ` [PATCH V21 06/15] drm/xe: Guard teardown paths against purged BOs Tejas Upadhyay
2026-09-03 16:55 ` sashiko-bot
2026-09-03 16:16 ` [PATCH V21 07/15] drm/xe/vram: Extract buddy allocation and free helpers Tejas Upadhyay
2026-09-03 16:16 ` [PATCH V21 08/15] drm/xe/vram: Add page offline data structures and lifecycle Tejas Upadhyay
2026-09-03 16:16 ` [PATCH V21 09/15] drm/xe/vram: Add VRAM page offline fault handler Tejas Upadhyay
2026-09-03 17:23 ` sashiko-bot
2026-09-03 16:16 ` [PATCH V21 10/15] drm/xe/configfs: Add disable_vram_page_offline attribute Tejas Upadhyay
2026-09-03 16:16 ` [PATCH V21 11/15] drm/xe/ras: Cache disable_vram_page_offline policy at init Tejas Upadhyay
2026-09-03 16:16 ` [PATCH V21 12/15] drm/xe/vram: Check disable_vram_page_offline policy in fault handler Tejas Upadhyay
2026-09-03 16:16 ` [PATCH V21 13/15] drm/xe: Expose bad VRAM pages via debugfs Tejas Upadhyay
2026-09-03 16:16 ` [PATCH V21 14/15] drm/xe/uapi: Expose ban reason in EXEC_QUEUE_GET_PROPERTY_BAN Tejas Upadhyay
2026-09-03 17:46 ` sashiko-bot
2026-09-03 16:16 ` [PATCH V21 15/15] drm/xe: Add fault-inject based VRAM page offline injection Tejas Upadhyay
2026-09-03 16:23 ` ✗ CI.checkpatch: warning for Add memory page offlining support (rev25) Patchwork
2026-09-03 16:25 ` ✓ CI.KUnit: success " Patchwork
2026-09-03 17:46 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-09-04 4:33 ` Matthew Brost [this message]
2026-09-04 5:18 ` ✗ Xe.CI.FULL: " 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=appKFu13lcW6tJ7x@gsse-cloud1.jf.intel.com \
--to=matthew.brost@intel.com \
--cc=himal.prasad.ghimiray@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=rodrigo.vivi@intel.com \
--cc=tejas.upadhyay@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 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.