DOCA 文档 v2.10.0

重置流程

默认情况下,重置流程已激活。一旦识别到“致命设备”错误,HCA 和软件都将被重置,ULP 和用户应用程序将收到通知,并在事件发生后执行恢复过程。

目前,重置流程只能由固件断言和恢复流程请求 (RFR) 触发。应使用 mlxconfig 命令显式启用固件 RFR 支持。

Procedure_Heading_Icon-version-1-modificationdate-1733169661097-api-v2.PNG

要查询当前值,请运行

复制
已复制!
            

mlxconfig -d /dev/mst/mt4115_pciconf0 query | grep SW_RECOVERY_ON_ERRORS

Procedure_Heading_Icon-version-1-modificationdate-1733169661097-api-v2.PNG

要启用 RFR 位支持,请运行

复制
已复制!
            

mlxconfig -d /dev/mst/mt4115_pciconf0 set SW_RECOVERY_ON_ERRORS=true

一旦识别到“致命设备”错误,将创建一个 IB_EVENT_DEVICE_FATAL 事件,ULP 将收到事件通知,并且将模拟返回未完成的 WQE 并带有“错误刷新”消息,以便每个 ULP 关闭其资源,并且不会在调用其作为“重置流程”一部分的 remove_one 回调时卡住。

一旦卸载部分终止,将使用其 add_one 回调调用每个 ULP,其资源将被重新初始化并重新激活。

一旦识别到“致命设备”错误,将创建一个 IB_EVENT_DEVICE_FATAL 事件,应用程序将收到事件通知,并采取相关的恢复操作。

忽略此事件的应用程序将进入僵尸状态,其中发送到内核的每个命令都将返回错误,并且不会预期未完成的 WQE 完成。

应用程序的预期行为是注册接收此类事件,并在上述事件发生后进行恢复。如果 NIC 从 PCI 解绑并在之后重新绑定,也应预期相同的行为。一旦 RDMA_CM_EVENT_DEVICE_REMOVAL 事件发生,通过 RDMA CM 运行的应用程序应以相同的方式运行。

以下是使用解绑/绑定 NIC(由 0000:04:00.0 定义)的示例

复制
已复制!
            

echo 0000:04:00.0 > /sys/bus/pci/drivers/mlx5_core/unbind echo 0000:04:00.0 > /sys/bus/pci/drivers/mlx5_core/bind

如果物理功能识别到错误,它将通过使用该信息标记其通信通道来通知所有 VF,因此,所有 VF 和 PF 都将被重置。

如果 VF 遇到错误,则仅重置该 VF,而 PF 和其他 VF 继续不受影响地工作。

如果使用 VF 的 PCIe sysfs 条目强制执行外部重置,则一旦 VF 通过其通信通道运行任何命令,就会在该 VF 上执行重置。

例如,以下命令可用于在虚拟机管理程序上重置由 0000:04:00.1 定义的 VF

复制
已复制!
            

echo 1 >/sys/bus/pci/devices/0000:04:00.1/reset

扩展错误处理 (EEH) 是一种 PowerPC 机制,它封装了 AER,从而将 AER 事件作为 EEH 事件暴露给操作系统。

ULP 和用户空间应用程序的行为与 AER 的行为相同。

CRDUMP 功能允许在设备 FW/HW 无法正常工作时自动拍摄设备 CR 空间的快照。

快照触发器

快照在固件检测到需要恢复流程的严重问题后触发。

此快照稍后可以进行调查和分析,以跟踪故障的根本原因。

目前,仅存储第一个快照,并使用临时虚拟文件公开。虚拟文件在驱动程序重置时清除。

当检测到严重事件时,将在 Linux 日志中打印一条消息,指示 CRDUMP 收集。用户应备份打印消息中指向的文件。文件位置格式为:/proc/driver/mlx5_core/crdump/<pci address>

应使用 Linux 标准工具复制快照以供将来调查。

此机制允许设备的固件/硬件将重要事件记录到事件跟踪系统 (/sys/kernel/debug/tracing) 中,而无需任何 NVIDIA 工具。

注意

要能够使用此功能,必须在内核中启用跟踪点。

此功能默认启用,可以使用 sysfs 命令进行控制。

Procedure_Heading_Icon-version-1-modificationdate-1733169661097-api-v2.PNG

禁用该功能

复制
已复制!
            

echo 0 > /sys/kernel/debug/tracing/events/mlx5/fw_tracer/enable

Procedure_Heading_Icon-version-1-modificationdate-1733169661097-api-v2.PNG

启用该功能

复制
已复制!
            

echo 1 > /sys/kernel/debug/tracing/events/mlx5/fw_tracer/enable

Procedure_Heading_Icon-version-1-modificationdate-1733169661097-api-v2.PNG

使用 vim 文本编辑器查看 FW 跟踪

复制
已复制!
            

vim /sys/kernel/debug/tracing/trace

© 版权所有 2025 NVIDIA。 上次更新时间:2025 年 2 月 12 日。