Open
fix: 完善 MCTP 端点取消与协议动作收尾 #1331
liuxingsenAdd on 25 days ago
fix: 完善 MCTP 端点取消与协议动作收尾 #1331
Open
Merge blocked
25 days ago Created pull request, commit afb3b8c8
Lliuxingsen
25 days ago Associated issue: [任务]: 整合驱动内存边界和异步生命周期修复并完成回归验收,[任务]: 完善 Broadcom 及 Hisi 剩余定时器重启、停止和析构顺序,补充异步生命周期回归
25 days ago Associated issue: [任务]: 整合驱动内存边界和异步生命周期修复并完成回归验收,[任务]: 完善 Broadcom 及 Hisi 剩余定时器重启、停止和析构顺序,补充异步生命周期回归
25 days ago Added label: sig/sig-component-drivers
openUBMC-robot
25 days ago Comments:
25 days ago Comments:
欢迎来到 openUBMC 社区
Hey @xiaoxinglxs , 感谢你对社区的贡献.
机器人使用手册
有关指令的使用,可以点击 说明文档 或 论坛 查看详情。开发人员可以在每个PR或Issue下方评论特定指令来触发机器人任务。您可以自助配置此仓库的 PR 合并规则,更多详情,请参阅机器人自助配置使用手册。
联系指引
有疑问可以联系 SIG: sig-component-drivers ,
维护者是: @dongyushan, @net_swift_wangchen, @sam_h1973, @u012924942, @weixin_37569011, @xiaoxinglxs ,
优秀贡献者是: @adellonzzy, @avery-j, @changxingOpenUBMC, @chenshengfan, @dli_bmc, @huangjiapei, @leessential, @net_swift_tianwen, @xiapengc1, @yelvsub .


25 days ago Added label: ai-co-authored
274 messages are collapsed here。 See more
openubmc-ci-bot
6 days ago Comments:
6 days ago Comments:
CI已开始运行,查看流水线详情:流水线链接


6 days ago Removed label: ci-running
openubmc-ci-bot
6 days ago Comments:
6 days ago Comments:
| 任务名称 | 结果 |
|---|---|
| pre-commit检查 | ✅ SUCCESS |
| PR描述检查 | ✅ SUCCESS |
| 防投毒检查 | ✅ SUCCESS |
| 开源合规检查 | ✅ SUCCESS |
| 编译构建 | ✅ SUCCESS |
| UT测试 | ✅ SUCCESS |
| 头文件检查 | ✅ SUCCESS |
| AI Review | ✅ SUCCESS |
| ASAN检测 | ✅ SUCCESS |


6 days ago Added label: ci-successful
6 days ago Modify description of pull request
当前PR是否有AI参与:
[ ] 否
[x] 是
__1. AI Agent 平台: OpenAI Codex(桌面应用;本次会话后端 codex-cli 0.155.1)
__2. AI 模型: gpt-6-astra(原实现与验证);本轮更新使用 GPT-6,当前会话未提供可核实的精确型号
__3. Prompt上下文 : 按用户要求审视原 #1331,按修改点和影响范围拆成约三组,完整保留有效修复、测试、文档及原署名。用户选择保持每个 PR 相对目标分支一个提交,先更新基础 PR,网卡/NVMe 完成拆分和验证后等待基础合入再发布。基于当时主线整理,复用构建环境串行验证;2026-11-02 再按最新主干更新独立日志和候选版本;不自动合入。
PR功能描述 / 为什么需要这个合入:
本 PR 现收敛为 MCTP 端点取消、在途回调收尾及协议动作队列基础能力。在停止或注销与端点发现回调重叠时,取消旧代次,并在活动回调结束后执行消费者提供的清理动作,避免同步重入直接释放仍被当前调用栈访问的资源。
主线
70e2e189尚不包含该基础修复。Broadcom/Emulex 和 Huawei/Samsung 使用方迁移分别保留为两个后续分组;它们依赖本 PR,但互不依赖。该基础 PR 不宣称已完成所有驱动的生命周期迁移。修改方案:
cancel_endpoint_retry(cleanup)的取消/排空契约:同步可完成时返回 true;同线程嵌套不能等待当前栈,返回 false,由活动退出路径在锁外执行延后清理。changelog.d/pr-1331.md,候选版本与mds/service.json同为1.2.580,保持一个提交。验证方案:
构建并串行运行 MCTP class/service、NCSI、NVMe 公共库、三类 PLDM 测试程序;核对取消、重入、旧代次、回调期间最后外部引用释放及协议队列异常路径。逐文件核对三分组重组后有效内容与原 PR 整合快照一致。
测试建议:
在正式依赖和目标板验证发现重试期间停止/拔出、回调内重入、实际消费者资源释放顺序,并执行 sanitizer。网卡和 NVMe 的完整消费者回归随其后续分组验证,不能由基础库通过替代。
自验证报告:
历史验证(2026-10-27,旧提交
8af3223b99835637b94d7eabd007aa01cb34290a,基于当时 main2668a82e19b0c7d3b9c22f0cf422cc4c10bc651b):2026-11-02,本次提交
7a2c2f88574bc8d9527eda8e5b54e28255faf2b0基于 main70e2e189b2f54743bd734233c97e7f6456b340d3:八个功能文件与旧提交逐字节一致;根 CHANGELOG 与主干一致,独立日志和服务版本均为1.2.580。全部变更文件 pre-commit、提交钩子、差异检查通过。未重新运行本地 C++ 测试;上一提交 5475ff18 的远端构建、UT、ASAN 已通过(历史结果);本次提交7a2c2f88574bc8d9527eda8e5b54e28255faf2b0的 远端流水线 已完成,文件头、构建、UT、ASAN、最终汇总等已启用步骤没有失败;Test_version_check被跳过,版本 +1 由本轮另行核对。合入前须核对主干最新版本,候选版本只能是主干版本加一;若其他 PR 先合入,需在合入前重基并重新取下一版。该PR关联的issue
fixes #866
希望检视人员了解:
原整组改动按依赖拆为:①本 PR 的基础能力;②Broadcom/Emulex 网卡;③Huawei/Samsung NVMe。后两组已建立独立源码分组,仅依赖①,按用户要求待①由维护者正常合入后重基发布,各保持一个提交。本次没有合并、关闭 PR,未把共享基础重复复制进三个上游 PR。
完整保留测试和文档时,自然分组仍超过1000行;未通过删回归或拆散同一取消/排空契约凑行数。本 PR 当前共1393行变更(新增+删除,含测试、文档和版本元数据)。
原生命周期总任务的入口保留在基础子任务的备注中。本 PR 仅关联并在合入后关闭基础子任务 #866,避免提前关闭网卡与 NVMe 未交付范围。
原评审 194981645(析构与延后清理)、194981662(OEM 宿主执行器)分别涉及基础保活和后续消费者调用契约;保留评审历史及开放状态,不因代码移出本 PR 就标记解决。后续消费者 PR 需携带这些意见及可核验依据。
本轮复核另外三条旧检视意见:
196356472所述把定时器启动直接移出状态锁,会让取消操作插在“发布句柄”和“启动”之间,反而可能重新武装已取消的定时器;196356474的同步异常范围已由队列注释和同步/嵌套/延后失败测试界定;196356477的固定等待在极慢环境中仍可能超时,保留为待评估的测试稳定性意见。以上未因本轮重基而擅自标记解决。