From: Michal Wajdeczko <michal.wajdeczko@intel.com>
To: "Mallesh, Koujalagi" <mallesh.koujalagi@intel.com>,
<intel-xe@lists.freedesktop.org>
Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>,
Aravind Iddamsetty <aravind.iddamsetty@intel.com>
Subject: Re: [PATCH v3 17/23] drm/xe: Report 'device wedged' errors using SIGID
Date: Fri, 7 Aug 2026 12:24:33 +0200 [thread overview]
Message-ID: <2cf706a3-93cf-4f47-b772-c07c35e1668f@intel.com> (raw)
In-Reply-To: <f219c563-7703-4703-a832-28da4a8b3421@intel.com>
On 8/7/2026 11:56 AM, Mallesh, Koujalagi wrote:
>
> On 30-07-2026 08:51 pm, Michal Wajdeczko wrote:
>> Report 'device wedged' error using xe_log_err_fatal() helper.
>> Use -EIO as the error cause, as nothing else is provided here.
>> The hints about the recovery method and bug filling are now
> Typo 'filing'
>> separated as it only needs to be printed once.
>>
>> Signed-off-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
>> Cc: Rodrigo Vivi <rodrigo.vivi@intel.com>
>> Cc: Aravind Iddamsetty <aravind.iddamsetty@intel.com>
>> Cc: Mallesh Koujalagi <mallesh.koujalagi@intel.com>
>> ---
>> drivers/gpu/drm/xe/xe_device.c | 16 ++++++++++------
>> 1 file changed, 10 insertions(+), 6 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/xe/xe_device.c b/drivers/gpu/drm/xe/xe_device.c
>> index 4eed9a251e65..b1e9bcd9f5b4 100644
>> --- a/drivers/gpu/drm/xe/xe_device.c
>> +++ b/drivers/gpu/drm/xe/xe_device.c
>> @@ -48,6 +48,7 @@
>> #include "xe_i2c.h"
>> #include "xe_irq.h"
>> #include "xe_late_bind_fw.h"
>> +#include "xe_log.h"
>> #include "xe_mmio.h"
>> #include "xe_module.h"
>> #include "xe_nvm.h"
>> @@ -1396,6 +1397,9 @@ void xe_device_set_wedged_method(struct xe_device *xe, unsigned long method)
>> xe->wedged.method = method;
>> }
>> +#define WEDGED_URL "https://docs.kernel.org/gpu/drm-uapi.html#device-wedging"
>> +#define XE_BUG_URL "https://gitlab.freedesktop.org/drm/xe/kernel/issues/new"
>
> We can directly used url string, instead of define as macro, since we are not using anywhere else. OR
URLs change from time to time
IMO it is easier to change a dedicated macro then full message,
that will remain unchanged otherwise
>
> Please make scope to file only.
hmm?
we can try to promote WEDGED_URL to drm/drm_device.h as DRM_WEDGE_URL_DOC
and move XE_BUG_URL to xe/xe_drv.h, but I don't want to this right now
>
>> +
>> /**
>> * xe_device_declare_wedged - Declare device wedged
>> * @xe: xe device instance
>> @@ -1427,12 +1431,12 @@ void xe_device_declare_wedged(struct xe_device *xe)
>> if (!atomic_xchg(&xe->wedged.flag, 1)) {
>> xe->needs_flr_on_fini = true;
>> xe_pm_runtime_get_noresume(xe);
>> - drm_err(&xe->drm,
>> - "CRITICAL: Xe has declared device %s as wedged.\n"
>> - "IOCTLs and executions are blocked.\n"
>> - "For recovery procedure, refer to https://docs.kernel.org/gpu/drm-uapi.html#device-wedging\n"
>> - "Please file a _new_ bug report at https://gitlab.freedesktop.org/drm/xe/kernel/issues/new\n",
>> - dev_name(xe->drm.dev));
>> +
>> + xe_log_err_fatal(xe, WEDGED, -EIO, "Device declared wedged!\n");
>
> Using -EIO is right? since we called this function with difference location (since we are not propagating errors), we may have different errors.
>
> which may be misleading with -EIO.
true, but there is no errno available at this point
and most callers don't use any errno at all
we can change that to -ENOTRECOVERABLE, which was introduced
recently to indicate a WEDGED state, but then it will be
little redundant
or
change the xe_device_declare_wedged signature and require
errno to be assigned by the callers (but that would be
a separate task/patch from this example
>
>
> Thanks,
>
> -/Mallesh
>
>> + xe_err_once(xe, "IOCTLs and executions are now blocked!\n"
>> + "For recovery procedure, refer to %s\n"
>> + "Please file a _new_ bug report at %s\n",
>> + WEDGED_URL, XE_BUG_URL);
>
>> }
>> for_each_gt(gt, xe, id)
next prev parent reply other threads:[~2026-08-07 10:24 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-30 15:20 [PATCH v3 00/23] drm/xe: Add structured SIGID error logging infrastructure Michal Wajdeczko
2026-07-30 15:20 ` [PATCH v3 02/23] drm/xe/log: " Michal Wajdeczko
2026-08-04 15:00 ` Tauro, Riana
2026-08-04 18:52 ` Rodrigo Vivi
2026-08-05 17:23 ` Michal Wajdeczko
2026-08-05 18:58 ` Rodrigo Vivi
2026-08-04 21:21 ` Summers, Stuart
2026-08-04 21:22 ` Summers, Stuart
2026-08-05 1:39 ` Rodrigo Vivi
2026-08-05 1:36 ` Rodrigo Vivi
2026-08-05 22:24 ` Summers, Stuart
2026-08-06 11:31 ` Michal Wajdeczko
2026-08-06 19:10 ` Summers, Stuart
2026-08-06 19:46 ` Rodrigo Vivi
2026-07-30 15:21 ` [PATCH v3 05/23] drm/xe/log: Add SIGID log helpers for severity Michal Wajdeczko
2026-08-03 8:23 ` Mallesh, Koujalagi
2026-07-30 15:21 ` [PATCH v3 06/23] drm/xe/log: Add SIGID log helpers for location Michal Wajdeczko
2026-08-03 8:50 ` Mallesh, Koujalagi
2026-07-30 15:21 ` [PATCH v3 07/23] drm/xe/log: Add SIGID log helpers for location & severity Michal Wajdeczko
2026-08-03 8:58 ` Mallesh, Koujalagi
2026-07-30 15:21 ` [PATCH v3 08/23] drm/xe/log: Add SIGID log helpers for components Michal Wajdeczko
2026-08-03 12:42 ` Mallesh, Koujalagi
2026-07-30 15:21 ` [PATCH v3 09/23] drm/xe/log: Add SIGID log helpers for errno-only Michal Wajdeczko
2026-08-04 4:56 ` Mallesh, Koujalagi
2026-07-30 15:21 ` [PATCH v3 10/23] drm/xe/log: Add hardware error signatures Michal Wajdeczko
2026-07-31 11:41 ` Mallesh, Koujalagi
2026-08-04 15:56 ` Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 12/23] drm/xe/ras: Check RAS and LOG component definitions Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 13/23] drm/xe/kunit: Setup driver data in the test device Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 14/23] drm/xe/tests: Add Kunit tests for xe_log Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 16/23] drm/xe: Report 'probe blocked' error using SIGID Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 17/23] drm/xe: Report 'device wedged' errors " Michal Wajdeczko
2026-08-07 9:56 ` Mallesh, Koujalagi
2026-08-07 10:24 ` Michal Wajdeczko [this message]
2026-07-30 15:21 ` [PATCH v3 18/23] drm/xe: Report 'Survivability Mode' " Michal Wajdeczko
2026-08-07 11:18 ` Mallesh, Koujalagi
2026-07-30 15:21 ` [PATCH v3 20/23] drm/xe/pcode: Report 'Mailbox failed' error " Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 22/23] drm/xe/gt: Report 'pagefault' errors " Michal Wajdeczko
2026-07-30 15:21 ` [PATCH v3 23/23] drm/xe/pci: Report 'cannot re-enable' error " Michal Wajdeczko
2026-07-30 15:40 ` ✗ CI.checkpatch: warning for drm/xe: Add structured SIGID error logging infrastructure (rev3) Patchwork
2026-07-30 15:41 ` ✓ CI.KUnit: success " Patchwork
2026-07-30 16:17 ` ✗ Xe.CI.BAT: failure " Patchwork
2026-08-04 16:00 ` Michal Wajdeczko
2026-07-30 18:31 ` ✗ Xe.CI.FULL: " Patchwork
2026-08-04 16:05 ` Michal Wajdeczko
[not found] ` <20260730152121.576-4-michal.wajdeczko@intel.com>
2026-08-03 8:00 ` [PATCH v3 03/23] drm/xe/log: Introduce structured component/location identifiers Mallesh, Koujalagi
2026-08-04 15:19 ` Michal Wajdeczko
[not found] ` <20260730152121.576-12-michal.wajdeczko@intel.com>
2026-08-04 6:05 ` [PATCH v3 11/23] drm/xe/log: Extend components list with hardware items Mallesh, Koujalagi
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=2cf706a3-93cf-4f47-b772-c07c35e1668f@intel.com \
--to=michal.wajdeczko@intel.com \
--cc=aravind.iddamsetty@intel.com \
--cc=intel-xe@lists.freedesktop.org \
--cc=mallesh.koujalagi@intel.com \
--cc=rodrigo.vivi@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