STRUCT XE_DEVCOREDUMP_SNAPSHOT(9)

๐Ÿ“ฆ version 7.3.1, in nixpkgs unstable

๐ŸŽ€ struct xe_devcoredump_snapshot(9) ๐ŸŽ€

okay so this is a Kernel API Manual page, and it's literally the crash-snapshot struct for Xe โ€” main character energy for when the GPU has a bad day ๐Ÿ˜ญ. it's giving "we captured the crash tea and saved it for later," and we're gonna walk through every single member, no cap. ๐Ÿซถ


โœจ NAME โœจ

struct xe_devcoredump_snapshot โ€” Crash snapshot. that's the whole vibe: the struct that holds the crash snapshot, bestie ๐Ÿ’…

๐ŸŒˆ SYNOPSIS ๐ŸŒˆ

here's the full struct, character-for-character, because we do not play about code:

struct xe_devcoredump_snapshot {
    ktime_t snapshot_time;
    ktime_t boot_time;
    char process_name[TASK_COMM_LEN];
    pid_t pid;
    char *reason;
    struct xe_gt *gt;
    struct work_struct work;
    struct {
      struct xe_guc_ct_snapshot *ct;
      struct xe_guc_log_snapshot *log;
    } guc;
    struct xe_guc_submit_exec_queue_snapshot *ge;
    struct xe_hw_engine_snapshot *hwe[XE_NUM_HW_ENGINES];
    struct xe_sched_job_snapshot *job;
    struct __guc_capture_parsed_output *matched_node;
    struct xe_vm_snapshot *vm;
    struct {
      ssize_t size;
      ssize_t chunk_position;
      char *buffer;
    } read;
};

๐Ÿงš Members ๐Ÿงš

  • snapshot_time โ€” Time of this capture. โฑ๏ธ
  • boot_time โ€” Relative boot time so the uptime can be calculated. ๐Ÿฅพ
  • process_name โ€” Name of process that triggered this gpu hang. ๐Ÿ’ป
  • pid โ€” Process id of process that triggered this gpu hang. ๐Ÿ”ข
  • reason โ€” The reason the coredump was triggered. ๐Ÿšจ
  • gt โ€” Affected GT, used by forcewake for delayed capture. ๐ŸŽฏ
  • work โ€” Workqueue for deferred capture outside of signaling context. ๐Ÿ› ๏ธ
  • guc โ€” GuC snapshots. ๐ŸŽฎ
    • guc.ct โ€” GuC CT snapshot. ๐Ÿ“ธ
    • guc.log โ€” GuC log snapshot. ๐Ÿ“
  • ge โ€” GuC Submission Engine snapshot. ๐Ÿš€
  • hwe โ€” HW Engine snapshot array. ๐Ÿงฉ
  • job โ€” Snapshot of job state. ๐Ÿ’ผ
  • matched_node โ€” The matched capture node for timedout job โ€” this single-node tracker works because devcoredump will always only produce one hw-engine capture per devcoredump event. ๐Ÿ‘€
  • vm โ€” Snapshot of VM state. ๐Ÿง 
  • read โ€” devcoredump in human readable format. ๐Ÿ“–
    • read.size โ€” size of devcoredump in human readable format. ๐Ÿ“
    • read.chunk_position โ€” position of devcoredump chunk. ๐Ÿ“
    • read.buffer โ€” buffer of devcoredump in human readable format. ๐Ÿงบ

๐Ÿ’– Description ๐Ÿ’–

okay so this struct contains all the useful information that gets quickly captured at the time of the crash. so, any subsequent reads of the coredump points to a data that shows the state of the GPU of when the issue has happened. literally a time capsule for the GPU's bad moment, periodt. ๐Ÿ’€โœจ

๐Ÿ”ฅ SEE ALSO ๐Ÿ”ฅ

  • Kernel file ./drivers/gpu/drm/xe/xe_devcoredump_types.h
  • struct xe_devcoredump(9) โ€” don't sleep on it, fr fr ๐Ÿ‘‘

and that's the tea ๐Ÿต โ€” source/version: ./drivers/gpu/drm/xe ยท date: October 2026. mwah ๐Ÿ’‹

๐Ÿ“ฆ where this page comes from