XID 参考手册
概述
XID是一种GPU错误处理基础设施,用于识别GPU硬件和驱动软件在运行过程中发生的各类错误,提供相应的故障处理机制。
目标用户
XID是针对系统运维人员、FAE、开发人员等目标群体所设计。
使用场景
主要 - 协助系统运维人员、FAE及第三方开发者高效识别问题根源,指导现场处置措施,并且作为返修退货的部分依据。
次要 - 作为问题上报和返修退货流程的附带信息,帮助MT内部人员分析问题原因。
属性
XID是一种支撑业务现场错误感知和即时处置的基础设施。XID的属性包含错误严重性、错误影响范围、错误原因等方面的描述,用户可以通过这些描述信息来明确一个XID错误的含义,并确定对应的错误处理方式。
严重性
严重性属性表达XID错误的严重程度,分为以下几个级别:
-
致命级(FATAL) - 表示GPU遭遇了严重错误,无法正常运行且无法恢复,例如设备初始化失败,硬件自检出错等。该严重级别的错误主要影响系统的可用性。
-
告警级(WARN) - 错误对系统和业务具有破坏性影响,且在无外界干预的情况下无法自动恢复,例如ECC DBE,GPU lockup等。该严重级别的错误主要影响系统的稳定性。
-
感知级(NOTI) - 错误对业务无破坏性影响,或者可以自动被纠正,或者可以被容忍,例如MTLINK CRC错误,PCIE retransmit等。该严重级别的错误主要影响系统的性能和效率。
影响范围
影响范围属性描述的是一个XID错误的会对多大范围的功能产生影响,它可以分为以下几个级别:
- 进程级(PROC) - 错误仅影响对应的应用程序或进程。
- GPU设备级(GPU) - 错误会影响到使用对应GPU设备的所有应用程序或进程。
- 主机级(HOST) - 错误会影响到当前主机上的多个或所有GPU。
- 系统级(SYS) - 错误会影响到不止一台主机。
错误原因
错误原因属性描述可能引发该XID错误的原因,用于指导用户处理错误。错误原因可分为以下类别:
- 硬件错误(HW) - GPU硬件发生错误导致产生对应XID错误。
- 驱动错误(DRV)- 驱动程序出错诱发对应XID错误。
- 用户程序错误(UAPP) - 用户程序错误引发对应的XID错误。
- 系统内存损坏(SMEM) - 系统内存损坏导致对应的XID错误。
- PCIE总线故障(PCIE) - PCIE总线故障导致对应的XID错误。
- MTLINK总线故障(LINK) - MTLINK总线故障导致对应的XID错误。
- 热管理错误(THM) - 热管理错误导致对应的XID错误。
需要注意,很多XID错误可能无法精确地确定错误原因,因此该属性是一个集合,其中包括可能触发该XID错误的所有原因。
处置措施
处置措施属性为用户提供现场处理XID错误的指导和建议,它对致命级和告警级错误的现场处置至关重要,因此必须是用户现场具备可操作性的。
XID错误的处置措施由两部分组成:XID错误自身的处置措施和其错误原因对应的推荐处置措施。其中XID自身的处置措施各不相同,错误原因对应的推荐处置措施如下。
| 错误原因 | 推荐处置措施 |
|---|---|
| 驱动错误 | 运行诊断程序、记录并上报错误信息、重启设备/重新加载驱动/重启主机 |
| 硬件错误 | 运行诊断程序、检查硬件物理连接、将故障设备/主机从系统中隔离、申请设备返修或退货处理 |
| 用户程序错误 | 运行debug tool、运行memcheck、重启应用程序 |
XID 格式
XID有一套标准格式如下:
[MTGPU] XID:(XID_ID)-(XID_NAME) (SEV:Severity) (SCP:Scope) PCI:(BDF) (TS:Timestamp) (UUID:unique id) [(GPU-I:gi_id)] [PID:(UserPID)] → (Additional information)
例如MTLINK上报uncorrectable error的XID
[MTGPU] XID:1-mtlink_unrecoverable_error SEV:fatal SCP:host PCI:0000:01:00 TS:17766900 UUID:1001 PID:1032 -> lchip:1 llink:1 rchip:2 rlink:2
XID参考表
KERNEL DRIVER(模块号0x00)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x00000000 DEC:0 | 保留 | |||||||||||||
| HEX:0x00000001 DEC:1 | GPU Initialization Failure | FATAL | GPU | X | X | 运行诊断程序 重启GPU设备/主机 隔离设备/主机 | <GpuId> | 通常由驱动错误导致GPU内部固件无法正常启动 | ||||||
| HEX:0x00000002 DEC:2 | GPU fw reboot | NOTI | GPU | X | X | 无 | <GpuId> <Retru Seq> | 如果重启失败,则后续跟随着GPU Initialization Failure错误 | 驱动正在尝试重启GPU固件程序 <Retry Seq>: 重试序号,取值范围1~Retry Limit,每次新的reboot会话都从1开始 |
GPU(模块号0x01)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x01000000 DEC:16777216 | 保留 | |||||||||||||
| HEX:0x01000001 DEC:16777217 | GPU overrun(GPU semaphore timeout) | WARN | GPU | X | X | X | X | X | 运行诊断程序 检查应用程序 | <GpuId> <ProcId> | 任务超时,可能是应用程序逻辑太长导致 可能是由于下发给GPU的命令无法在规定时间内完成导致,GPU应用程序或内存管理相关逻辑可能出现问题 | |||
| HEX:0x01000002 DEC:16777218 | GPU lockup(GPU stopped processing) | WARN | GPU | X | X | X | X | X | 运行诊断程序 检查应用程序 | <GpuId> <ProcId> | 可能是由于下发给GPU的命令出错,或者非法指令导致,GPU内部watchdog发现MP idle,但是Engine没有上报完成。GPU应用程序和内存相关逻辑都有可能出问题 | |||
| HEX:0x01000003 DEC:16777219 | GPU memory page fault | WARN | GPU | X | X | X | 运行诊断程序 检查应用程序 | <GpuId> <ProcId> | 由于驱动错误,或者应用程序逻辑错误 导致访问的GPU VA地址没有正确的映射 | |||||
| HEX:0x01000004 DEC:16777220 | FW communication failure | WARN | GPU | X | X | 运行诊断程序 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <Reason> | 驱动程序与GPU固件通信失败,该问题可能通过重启固件自动修复,该问题可通过fw reboot实现概率性地修复 | ||||||
| HEX:0x01000005 DEC:16777221 | Musa processor exception | WARN | GPU | X | X | X | 运行诊断程序 检查应用程序 | <GpuId> <ProcId> | MP上的SHADER执行出错,GPU尝试自动重置。当前GPU上正在运行的任务都将失败,重置完成后不影响后续任务的执行 | |||||
| HEX:0x01000006 DEC:16777222 | GPU hardware failure | FATAL | GPU | X | 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <ProcId> | GPU发生硬件故障,导致设备无法正常运行 | |||||||
| HEX:0x01000007 DEC:16777223 | GPU run timeout | WARN | GPU | X | X | X | X | X | X | 运行诊断程序 检查应用程序 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <ProcId> <Type> | GPU kernel运行时间超过用户给定的超时时长 Type: CSW_TIMEOUT RUN_TIMEOUT KILL_TIMEOUT |
MSS(模块号0x02)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x02000000 DEC:33554432 | 保留 | |||||||||||||
| HEX:0x02000001 DEC:33554433 | Single Bit ECC Error | NOTI | GPU | X | <GpuId> | GPU内存系统检测到单bit数据错误,该错误可被硬件自动纠正 | ||||||||
| HEX:0x02000002 DEC:33554434 | Uncorrectable uncontained ECC error | FATAL | GPU | X | X | 运行诊断程序 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <Reset:Yes> <D-Reset:No> | GPU内存系统检测到双bit数据错误,该错误无法被遏制在当前工作负载范围内 | ||||||
| HEX:0x02000003 DEC:33554435 | Uncorrectable contained ECC error | WARN | GPU | X | X | 运行诊断程序 | <GpuId> <Reset:Yes> <D-Reset:No> | GPU内存系统检测到双bit数据错误,该错误可以被遏制在当前工作负载范围内 | ||||||
| HEX:0x02000004 DEC:33554436 | ECC error counter overflow | FATAL | GPU | X | X | 隔离设备/主机 申请返修/退货 | <GpuId> <ProcId> <ECC Counter> | 用于记录ECC错误次数的计数器发生溢出,无法再计数更多的ECC错误 | ||||||
| HEX:0x02000005 DEC:33554437 | New retired page detected | WARN | GPU | X | X | 重启GPU设备/主机 | <GpuId> | GPU成功将之前发生ECC错误的内存页进行退休弃用 | ||||||
| HEX:0x02000006 DEC:33554438 | Page retire failed | FATAL | GPU | X | X | 运行诊断程序 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <Reason> | GPU无法将之前发生ECC错误的内存页进行退休弃用 | ||||||
| HEX:0x02000007 DEC:33554439 | AXI Error | FATAL | GPU | X | 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <Type> | MTLINK down ddr ecc error | AXI总线遭遇硬件错误 <Type>: SLAVE ERROR TIMEOUT DECODE ERROR | ||||||
| HEX:0x02000008 DEC:33554440 | GPU out of memory allocation | WARN | PROC | X | X | 检查应用程序 | <GpuId> <ProcId> | 由于内存碎片化,即使剩余显存足够,仍然无法分配大块显存 |
MTBIOS(模块号0x05)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x05000000 DEC:83886080 | 保留 | |||||||||||||
| HEX:0x05000001 DEC:83886081 | GPU fan abnormality | WARN | GPU | X | 检查风扇是否异常 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> | GPU风扇降频或者GPU风扇不转 | |||||||
| HEX:0x05000002 DEC:83886082 | GPU bios trap | FATAL | GPU | X | 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> | GPU bios发生致命错误 | |||||||
| HEX:0x05000003 DEC:83886083 | GPU Temperature too high | WARN | GPU | X | 降低机器温度 检查风扇是否异常 检查硅脂是否异常 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> | 由于负载过高或散热不佳,GPU核心温度超过预设安全值,将进入降温保护 | |||||||
| HEX:0x05000004 DEC:83886084 | GPU shutdown | FATAL | GPU | X | 降低机器温度 检查风扇是否异常 检查硅脂是否异常 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> | GPU由于温度过高超过GPU shutdown阈值,导致GPU即将关机 |
PCIE(模块号0x06)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x06000000 DEC:100663296 | 保留 | |||||||||||||
| HEX:0x06000001 DEC:100663297 | GPU has fallen off the bus | WARN | GPU | X | X | X | X | 运行诊断程序 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> | PCIE 链路异常引起的硬件故障,导致掉卡 |
MTLINK(模块号0x07)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x07000000 DEC:117440512 | 保留 | |||||||||||||
| HEX:0x07000001 DEC:117440513 | Mtlink down | WARN | GPU | X | X | X | <GpuId> <Llink> <Rlink> | Mtlink down 代表当前link出现断连 | ||||||
| HEX:0x07000002 DEC:117440514 | Mtlink up | NOTI | GPU | <GpuId> <Link> | Mtlink up 代表当前link已建立连接,用于表示link down的问题已恢复 | |||||||||
| HEX:0x07000003 DEC:117440515 | Mtlink unrecoverable error | FATAL | GPU | X | X | X | 检查硬件连接 重启GPU设备/主机 隔离设备/主机 申请返修/退货 | <GpuId> <Lchip> <Llink> <Rchip> <Rlink> | Mtlink down | 可能在mtlink down错误之后出现,表示mtlink无法恢复,需要重启相关GPU设备 | ||||
| HEX:0x07000004 DEC:117440516 | Mtlink downgrade | WARN | GPU | X | X | X | 检查硬件连接 更换link连接线 | <GpuId> <Link> <Down lane count> <Total lane count> | Mtlink up | 不会与Mtlink up同时出现 link中部分lane不可用,link总带宽受限 |
DMA (模块号0x0A)
| 错误号 | 错误 | 严重性 | 影响范围 | HW错误 | DRV错误 | UAPP错误 | SMEM错误 | PCIE错误 | LINK错误 | THM错误 | 处置措施 | 附加信息 | 关联性 | 说明 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| HEX:0x0A000000 DEC:167772160 | 保留 | |||||||||||||
| HEX:0x0A000001 DEC:167772161 | DMA error | WARN | GPU | X | X | X | 运行诊断程序 重启GPU设备/主机 更换驱动 隔离设备/主机 申请返修/退货 | <GpuId> <ProcId> <DMA error Type> | 传输超时:无中断返回 描述符错误:描述符配置错误 配置错误:dma寄存器配置错误 |

