为HostCpuRoceChannel::ChannelFence()修复了大数据、多 WQE 传输场景下的超时误报问题,主要变更:
host_cpu_roce_channel.cc: 在部分 CQE 完成时重置超时起始时间,而非固定在调用 ChannelFence 之时,并在超时日志中增加剩余wqeNum信息。
单边通信 d2d / d2h / h2d / h2h 通过 write 发送 16GB 数据验证成功。
新增了 3 个UT测试用例
| 测试用例 | 覆盖的新分支 |
|---|---|
| Ut_ChannelFence_When_PartialCompletion_Expect_HCCL_SUCCESS | ChannelFence 中部分完成时重置超时计时器 |
| Ut_ChannelFence_When_PollExcessCqe_Expect_HCCL_E_INTERNAL | poll 返回完成数 > 预期 wqeNum_ |
| Ut_ChannelFence_When_Timeout_Expect_HCCL_E_TIMEOUT | 等待 CQE 超时 |
另外在 fixture 后新增了 SetupOneValidQpInfoMock() 辅助函数,用于模拟有效的 QP 信息(CQ、QP、context),使 ChannelFence 能进入 while 循环进行 polling。