CANN/

hcomm

公开

HCOMM(Huawei Communication)是HCCL的通信基础库,提供通信域以及通信资源的管理能力。

496
代码Commits分支Pull Requests213讨论
已合并

reset poll_cq timeout on partial CQE progress in ChannelFence to avoid false timeout on large transfers#1659

p_ch创建于 16 天前从poll_cq_reset_timer合入到master
讨论28提交6检查0文件改动3

合并人

未指定
p
p_ch16 天前创建

描述

为HostCpuRoceChannel::ChannelFence()修复了大数据、多 WQE 传输场景下的超时误报问题,主要变更:

host_cpu_roce_channel.cc: 在部分 CQE 完成时重置超时起始时间,而非固定在调用 ChannelFence 之时,并在超时日志中增加剩余wqeNum信息。

关联的Issue

<!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。--> <!-- 如果这个PR不涉及Issue,可填写"NA"。-->

测试

单边通信 d2d / d2h / h2d / h2h 通过 write 发送 16GB 数据验证成功。

新增了 3 个UT测试用例

测试用例覆盖的新分支
Ut_ChannelFence_When_PartialCompletion_Expect_HCCL_SUCCESSChannelFence 中部分完成时重置超时计时器
Ut_ChannelFence_When_PollExcessCqe_Expect_HCCL_E_INTERNALpoll 返回完成数 > 预期 wqeNum_
Ut_ChannelFence_When_Timeout_Expect_HCCL_E_TIMEOUT等待 CQE 超时

另外在 fixture 后新增了 SetupOneValidQpInfoMock() 辅助函数,用于模拟有效的 QP 信息(CQ、QP、context),使 ChannelFence 能进入 while 循环进行 polling。

文档更新

<!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。-->

类型标签

<!-- [x] 表示选中 -->
  • Bug修复
  • 新特性
  • 性能优化
  • 文档更新
  • 其他,请描述:
Pull Request已成功合入, 合并人 @cann-robot
(感谢 p_ch 的贡献)