硬件错误信息用户手册

概述

本文档对Xid消息做了详细说明,旨在帮助系统管理员、开发人员和FAEs理解这些消息背后的含义,帮助分析和解决SPU相关问题。

Xid消息定义

Xid消息是来自MOFFETT驱动程序的错误报告,存储在操作系统的内核日志或事件日志中。Xid消息表示SPU发生了错误,最常见的原因是驱动程序对SPU编程不正确或发送到SPU的命令损坏。这些消息可以指示硬件问题、MOFFETT软件问题或用户应用程序问题。

这些消息提供诊断信息,用户和MOFFETT可以使用这些信息来分析并解决SPU相关问题。

每个消息的含义在不同的驱动程序版本中是一致的。

如何解读Xid消息

Xid消息旨在用作调试指南。因为许多问题可能有多种根本的原因,所以仅从Xid值来理解每个问题并不总是可行的。

例如,Xid值可能表示用户程序非法访问内存。但是,理论上,由于PCIE或缓冲区问题导致的内存错误可能会损坏所有命令,从而引发任意的错误。一般来说,1.3节列出的Xid错误应作为进一步调查每个问题的起点。

Xid错误处理

如何查看Xid错误

在Linux下,可以使用dmesg | grep "moffett"命令来查看所有Xid消息。

以下是Xid消息的示例:

[…] MFRM: SPU at 0000:01:00: SPU-e15556aa-2544-cbc4-b020-5f6f277dcf50
[…] MFRM: Xid (0000:01:00): 10, (8002)device umd: scheduler module error occur

日志文件中的第一个Xid消息前面有一行,其中包含SPU UUID和设备ID。UUID是每个SPU唯一、不可变的标识符。

后续每条Xid消息包含设备ID、Xid值和关于Xid错误的信息。

Xid错误分析

下表针对可能遇到的各种问题列出了建议采取的操作:

问题
建议采取的操作

疑似用户编程问题

请联系开发人员进行分析。

疑似硬件问题

请联系硬件供应商,执行硬件诊断流程。

疑似MOFFETT驱动问题

请联系开发人员进行分析。

Xid错误列表

下表列出了Xid错误以及每个错误的潜在原因:

XID
问题
硬件错误
驱动错误
用户应用程序错误
系统内存错误
总线错误
过温错误

1

地址无效或损坏

X

X

2

SPU停止运行

X

X

X

X

3

驱动对SPU编程出错

X

4

驱动处理SPU异常出错

X

5

PCI配置空间中禁用总线主控

X

6

SPU内存页错误

X

X

7

SPU内部微控制器错误

X

8

SPU内部微控制器断点/警告

9

SPU内部微控制器停止工作

X

X

X

10

驱动/固件错误

X

X

X

X

11

资源抢占/冲突

X

12

辅助电源未连接到SPU板

13

双位ECC错误

X

14

EDC错误

X

15

高单比特位ECC错误率

X

X

16

受控的ECC错误

X

X

17

不受控的ECC错误

X

X

17

不受控的ECC错误

X

X

18

驱动非法存取

X

X

19

PCIE或NETLINK出错

X

X

X

XID
问题
硬件错误
驱动错误
用户应用程序错误
系统内存错误
总线错误
过温错误

20

SPU脱离总线

X

X

X

X

X

21

发送到SPU的数据损坏

X

X

X

X

22

SMBPBI测试消息

X

23

SMBPBI测试消息无回应

X

24

安全性故障

X

25

推理引擎异常

X

X

X

X

X

26

消息队列异常

X

X

X

27

SPU状态监控器异常

X

X

28

MFDEC0异常

X

X

29

MFDEC1异常

X

X

30

MFDEC2异常

X

X

31

MFDEC3异常

X

X

32

MFJPG0异常

X

X

33

MFJPG1异常

X

X

34

MFJPG2异常

X

X

35

MFJPG3异常

X

X

36

MFPPB0异常

X

X

37

MFPPB1异常

X

X

38

MFPPB2异常

X

X

39

MFPPB3异常

X

X

40

DVFS异常

X

X

41

GENETLINK异常

X

X

X

X

42

PCIe DMA异常

X

X

X

X

X

43

IPC异常

X

X

X

X

常见的Xid错误

本节提供了有关一些常见Xid错误的更多信息。

XID 11: OS: Preemptive Channel Removal

当用户应用程序中止并且内核驱动程序卸载SPU上运行的应用程序时,会记录此事件。Control-C、SPU重置、sigkill都是应用程序中止并创建此事件的示例。

在许多情况下,这并不表示存在错误,而是用户或系统操作。

XID 13: DBE (Double Bit Error) ECC Error

当SPU检测到SPU上发生了无法纠正的错误时,会记录此事件。这也会报告给用户应用程序。需要重置SPU以清除此错误。

XID 16, 17: CONTAINED/UNCONTAINED ECC ERRORs

当支持ECC错误控制的SPU处理ECC内存错误时,会记录这些事件。

当SPU检测到用户进程与内核进程之间通信出现问题时,会记录此事件。需要重置SPU以清除此错误。

此事件可能指示链路本身的硬件故障,也可能指示链路终端设备出现问题。

如果重复出现此错误,并且重置SPU无法清除此错误,请联系硬件供应商以获得支持。

XID 20: SPU has fallen off the bus

当SPU驱动程序尝试通过PCI Express链接访问SPU并发现无法访问SPU时,会记录此事件。

此事件通常是由于PCI Express链路上的硬件故障引起的,该故障导致SPU因链路断开而无法访问。查看系统事件日志和内核PCI事件日志可以提供链路故障源的附加指示。

此事件也可能是由于SPU硬件故障或其他驱动程序问题引起的。

XID 24: SECURITY FAULT ERROR

除非出现硬件故障,否则此事件应该是不常见的。请恢复最近对系统硬件所做的任何修改,然后冷重置系统。如果无法更正此问题,请与硬件供应商联系以获得帮助。

XID 42: PCIE DMA Exception

当DMA控制器报告故障时,会记录此事件。DMA控制器通过PCI-E总线管理MOFFETT驱动程序和SPU之间的通信流。这些故障主要涉及PCI的质量问题,通常不是由用户应用程序引起的。

最后更新于

这有帮助吗?