diff options
| author | Tales A. Mendonça <talesam@gmail.com> | 2026-09-22 11:46:32 -0300 |
|---|---|---|
| committer | Matthew Brost <matthew.brost@intel.com> | 2026-09-24 14:20:13 -0700 |
| commit | 63360b328b1ffdcd561911c25c5e25f74ce97afe (patch) | |
| tree | 99cf7cbc48cfb024ebe59cf95d63416faff3b1df /tools/perf/scripts/python/stackcollapse.py | |
| parent | c62fd9b8c2ac73ec4404a44473ab252770945e61 (diff) | |
| download | linux-63360b328b1ffdcd561911c25c5e25f74ce97afe.tar.gz linux-63360b328b1ffdcd561911c25c5e25f74ce97afe.zip | |
drm/xe: Capture devcoredump on TLB invalidation timeout
TLB invalidation timeouts currently leave no record of the firmware
state behind: there is no exec queue or job to blame, so nothing calls
xe_devcoredump() and the GuC log content at the time of the hang is
lost.
Add xe_devcoredump_gt(), a variant of xe_devcoredump() for hangs that
are not tied to an exec queue or job. It captures the GuC log and CT
state of the affected GT, reusing the existing snapshot machinery and
the "only first snapshot" policy, and hook it up to the TLB invalidation
timeout path.
This was instrumental in diagnosing GuC TLB invalidation ack stalls on
ARL (see Link), where the invalidation request is consumed from the H2G
CTB immediately but the ack G2H only arrives ~2.3s later, after the
timeout has already fired.
Link: https://gitlab.freedesktop.org/drm/xe/kernel/-/work_items/8678
Signed-off-by: Tales A. Mendonça <talesam@gmail.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Signed-off-by: Matthew Brost <matthew.brost@intel.com>
Link: https://patch.msgid.link/20260922144634.55130-2-talesam@gmail.com
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
