Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Riana Tauro" <riana.tauro@intel.com>
Cc: intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v3 6/6] drm/xe/xe_ras: Track offlined pages by firmware to avoid duplicates
Date: Mon, 28 Sep 2026 07:07:13 +0000	[thread overview]
Message-ID: <20260928070713.C00E91F000FF@smtp.kernel.org> (raw)
In-Reply-To: <20260928061830.417395-14-riana.tauro@intel.com>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] xe: failed page offline requests are erroneously cached as successful
- [Medium] xe: page offline deduplication fails during initialization due to wrong order
--

commit 9f25f9a9144c678c3a1d0b655504ad65d4f2849b
Author: Riana Tauro <riana.tauro@intel.com>

drm/xe/xe_ras: Track offlined pages by firmware to avoid duplicates

A memory scrubber can report multiple errors at the same address. Track
pages already successfully offlined by the firmware so that subsequent
reports for the same address are removed from the firmware queue instead
of issuing redundant page offline requests.

> diff --git a/drivers/gpu/drm/xe/xe_ras.c b/drivers/gpu/drm/xe/xe_ras.c
> index 749cf25e9148a..d2bcbecd1ba66 100644
> --- a/drivers/gpu/drm/xe/xe_ras.c
> +++ b/drivers/gpu/drm/xe/xe_ras.c
> @@ -249,11 +253,16 @@ static int send_page_offline_cmd(struct xe_device *xe, u64 page_address,
>  		xe_log_err(xe, SYSCTRL, ret, "page offline command failed with status %u\n",
>  			   response.status);
>  
> +	if (action == XE_RAS_PAGE_ACTION_OFFLINE)
> +		xa_store(&state->offlined_pages, page_address >> XE_PTE_SHIFT,
> +			 XE_RAS_PAGE_OFFLINED, GFP_KERNEL);
> +
>  	return ret;
>  }

[Severity: High]
If ras_status_to_errno(response.status) returns an error, the code logs the
failure but execution continues. Does this cause the failed page offline
request to be erroneously cached as successful in state->offlined_pages?

If so, future reports of the same error will trigger a REMOVE action instead
of attempting to OFFLINE again, permanently dropping hardware memory errors
that failed to be offlined.

[ ... ]

> @@ -1145,10 +1177,14 @@ void xe_ras_init(struct xe_device *xe)
>  	if (IS_ENABLED(CONFIG_PCIEAER))
>  		ras_usp_aer_init(xe);
>  
> +	xa_init(&state->offlined_pages);
> +
>  	get_queued_pages(xe);
>  	get_offlined_list(xe);

[Severity: Medium]
Will page offline deduplication fail for queued pages because of the
initialization order?

During get_queued_pages(), pending errors are processed via
handle_page_offline(), which checks the xarray to detect duplicates:

handle_page_offline()
    if (xa_load(&state->offlined_pages, ...))
        action = XE_RAS_PAGE_ACTION_REMOVE;

Since get_offlined_list() has not yet populated the xarray with the existing
offlined pages, won't the xarray be empty at this point?

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260928061830.417395-8-riana.tauro@intel.com?part=6

  reply	other threads:[~2026-09-28  7:07 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-09-28  6:18 [PATCH v3 0/6] Add support to handle memory double-bit ecc errors Riana Tauro
2026-09-28  6:18 ` [PATCH v3 1/6] drm/xe/xe_ras: Handle page offline requests for device memory " Riana Tauro
2026-09-28  6:34   ` sashiko-bot
2026-09-28  8:55   ` Ghimiray, Himal Prasad
2026-10-01 10:50   ` Upadhyay, Tejas
2026-10-01 11:27     ` Tauro, Riana
2026-09-28  6:18 ` [PATCH v3 2/6] drm/xe/xe_ras: Add support to query page offline queue and list Riana Tauro
2026-09-28  6:35   ` sashiko-bot
2026-10-01 11:24   ` Upadhyay, Tejas
2026-10-01 11:37     ` Tauro, Riana
2026-10-01 12:11   ` Ghimiray, Himal Prasad
2026-09-28  6:18 ` [PATCH v3 3/6] drm/xe: Separate drm-ras netlink data from device and firmware RAS state Riana Tauro
2026-09-28  6:51   ` sashiko-bot
2026-09-28  8:59   ` Ghimiray, Himal Prasad
2026-09-28  6:18 ` [PATCH v3 4/6] drm/xe/xe_ras: Add function to get maximum pages firmware can store Riana Tauro
2026-09-28  6:43   ` sashiko-bot
2026-10-01 11:36   ` Upadhyay, Tejas
2026-10-01 11:40     ` Tauro, Riana
2026-09-28  6:18 ` [PATCH v3 5/6] drm/xe/xe_ttm_vram: Report max_pages reported by firmware to userspace Riana Tauro
2026-10-01 11:37   ` Upadhyay, Tejas
2026-09-28  6:18 ` [PATCH v3 6/6] drm/xe/xe_ras: Track offlined pages by firmware to avoid duplicates Riana Tauro
2026-09-28  7:07   ` sashiko-bot [this message]
2026-09-28  9:00   ` Ghimiray, Himal Prasad
2026-09-28  9:17     ` Ghimiray, Himal Prasad
2026-09-28  9:22       ` Tauro, Riana
2026-09-28 14:42 ` ✓ CI.KUnit: success for Add support to handle memory double-bit ecc errors (rev3) Patchwork
2026-09-28 15:27 ` ✓ Xe.CI.BAT: " Patchwork
2026-09-28 17:40 ` ✓ 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=20260928070713.C00E91F000FF@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=intel-xe@lists.freedesktop.org \
    --cc=riana.tauro@intel.com \
    --cc=sashiko-reviews@lists.linux.dev \
    /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