DOCA PCC 诊断计数器
在 ConnectX 或 BlueField 设备上读取固件级 PCC 拥塞诊断计数器。
明确披露了sudo/debugfs写入、设备范围、高风险调优边界、无凭据和不做自定义算法,并要求先确认目标设备;但没有明确的逐次用户确认流程、回滚命令或恢复方案,因此扣分。
两参数契约、set后query顺序和分层错误分类较一致,异常路径也有诊断建议;但评审材料未提供实际脚本,且没有可静态核验的测试套件覆盖关键路径,不能超过静态上限并扣分。
受众、触发短语、适用场景和明确的非适用范围清楚,Linux/DOCA/MFT/硬件前置条件也有说明;但没有中文交互支持或大陆网络可达性证据,且依赖特定硬件环境,因此扣分。
文档分为SKILL.md、CAPABILITIES.md和TASKS.md,包含安装前置条件、示例、限制、路由和错误分类;但版本、作者、变更记录和维护责任不完整,SKILLCARD中的版本与签名仍为TBD,且许可证元数据存在Apache-2.0与Apache-2.0 AND CC-BY-4.0的不一致。
核心任务、命令格式、固定计数器和输出形式描述得较直接,用户可据此执行set/query;但技能本身不包含脚本,实际结果必须在目标设备上获取,且没有本次评审可验证的代表性输出,因此仅给静态上限内的中等分数。
提供了源文件引用、明确符号和一个声称通过的基准报告;但基准数据集不可用,报告不是独立复现证据,且未提供实际脚本或覆盖测试,因此证据链较薄。
- 执行set前应再次确认准确的MST设备路径,并明确告知用户这是root级debugfs写入。
- 材料未提供set操作的回滚或恢复步骤;不要将计数器读数直接转化为拥塞控制参数变更。
- 基准报告缺少原始数据集,且实际脚本未包含在所给材料中,不能把报告中的通过率视为独立复现结果。
- 未证明中文支持或大陆网络可达性;相关公共文档链接在受限网络环境中可能不可用。
这个 Skill 能做什么,适合哪些场景?
该工具技能用于调用 DOCA 工具目录中的 pcc_counters.sh,设置并读取设备固定的 PCC 固件和硬件诊断计数器。它通过 mst 和 mlx5 debugfs 的 diag_cnt 接口处理 CNP、RTT、WRED 丢弃及相关事件计数。适合网络运维人员、开发者和需要采集 PCC 证据的 AI 代理。它不负责编写自定义 PCC 算法、配置固件 PCC 算法或安装 DOCA/MFT。
运行 pcc_counters.sh 的 set 操作,为设备写入计数器 ID 和参数以启用诊断计数;运行 query 操作,读取 /sys/kernel/debug/mlx5/<pci>/diag_cnt/dump 并输出命名计数器。工具通过 mst status -v 和 lspci 将 mst 设备路径解析为 PCI 地址。计数器包括 PCC_CNP_COUNT、MAD_RTT_PERF_CONT_*、*_EVENT_WRED_DROP、HANDLED_*_EVENTS、DROP_RTT_PORT* 和 RTT_GEN_PORT* 等固定集合。
- 网络运维人员确认某台 ConnectX 或 BlueField 设备是否产生 CNP、RTT 或 WRED 丢弃事件。
- 开发者观察自定义 doca-pcc 算法运行时的设备级拥塞控制计数器。
- 运维人员在 query 结果为零时区分设备空闲、计数器未启用和确实没有事件。
- AI 代理为拥塞控制调查采集并引用 PCC 计数器快照。
- 管理员排查设备路径错误、debugfs 未挂载或权限不足导致的读取失败。
这个 Skill 有哪些优点和局限?
- 直接读取设备固件和硬件 PCC 诊断计数器,不依赖自定义 doca-pcc 内核。
- 覆盖 CNP、RTT、WRED-drop 和事件处理等拥塞控制诊断指标。
- 提供设备解析、未启用、权限、debugfs 和计数器归零等故障分类。
- 不需要编译,交付形式是 DOCA 工具目录中的 Bash 脚本。
- 要求 Linux、DOCA/MFT、mst、已挂载 debugfs 以及对 mlx5 diag_cnt 的 root 权限。
- 仅支持两个位置参数和 set/query 操作,不提供监控、差异比较或快照子命令。
- 计数器数值依赖设备、固件和流量状态,不能使用预置示例值推断结果。
- 技能不提供自定义 PCC 算法编写、固件 PCC 配置或 DOCA 安装指导。
- 源材料未提供具体平台测试矩阵或独立测试套件。
如何安装这个 Skill?
使用 NVIDIA/skills 集合提供的 skills CLI 安装:npx skills add nvidia/skills --skill doca-pcc-counters --yes。该命令安装指定技能;README 未说明 pcc_counters.sh 在具体系统中的绝对安装路径。目标主机还必须已安装 DOCA/MFT,并满足 Linux、mst、debugfs 和 root 权限要求。
如何使用这个 Skill?
在满足环境要求的主机或 BlueField Arm 上,针对 mst 设备先执行 set,再执行 query:pcc_counters.sh set /dev/mst/mt41692_pciconf0;pcc_counters.sh query /dev/mst/mt41692_pciconf0。需要读取计数器时使用 set-then-query 顺序。该脚本只有 set 和 query 两种操作,并不提供 --help、--version、list、snapshot、watch 或 diff。
这个 Skill 与同类方案有什么区别?
它与 doca-pcc 主机侧库是不同用途:本技能读取设备级固件/硬件计数器,doca-pcc 用于编写和加载自定义拥塞控制内核。它也不同于固件 PCC 算法配置和 doca-setup 安装流程。