| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【feat】: Memcpy、Memset系列接口支持 size=0 Co-authored-by: liukejin<liukejin@huawei.com> # message auto-generated for no-merge-commit merge: !2371 merge support_size_zero into master 【feat】: Memcpy、Memset系列接口支持 size=0 Created-by: liukejin Commit-by: liukejin Merged-by: cann-robot Description: # Pull Request ## 描述 feat: Memcpy、Memset系列接口支持 size=0 标准行为 memcpy(dest, src, 0):标准规定,如果 n(第三个参数)为0,函数不进行任何复制,可以返回 dest 指针,是一种空操作。 memset(dest, value, 0):同样,如果 n 为0,函数不进行任何写入,可以返回 dest 指针,也是一种空操作。 接口列表: - aclrtMemcpy - aclrtMempyAsync - clrtMemcpyAsyncWithCondition - aclrtMemset - aclrtMemsetD32 - aclrtMemsetAsync - aclrtMemsetD32Async - aclrtMemcpyBatch - aclrtMemcpyBatchAsync - aclrtMemcpyAsyncWithOffset - aclrtMemcpy2d - aclrtMemcpy2dAsync ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 编译通过 2. rdv通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2371 | 4 个月前 | |
fix: 硬件故障不执行exception dump Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !2616 merge master into master fix: 硬件故障不执行exception dump Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 调整 adump 异常 dump 逻辑,对硬件故障类异常不再触发异常 dump,避免在设备内存故障、疑似设备内存故障、链路故障等场景继续执行 dump 流程。 主要变更: - 在 NeedDumpException 中新增硬件故障 retcode 过滤: - ACL_ERROR_RT_DEVICE_MEM_ERROR - ACL_ERROR_RT_SUSPECT_DEVICE_MEM_ERROR - ACL_ERROR_RT_LINK_ERROR - 将 NeedDumpException 校验前移到 DumpException 入口,统一异常过滤逻辑。 - 移除普通异常、args 异常、detail 异常分支中的重复过滤校验。 - 合并并补充 UT,统一验证 overflow 和硬件故障 retcode 均不需要 dump。 ## 变更类型 - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 1. 执行全量编译: bash build.sh -j8 2. 执行 adump UT: bash tests/build_ut.sh -j8 --ut=adump 3. 使能L0 exception dump,构造硬件故障(返回对应的错误码),不dump数据。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 当前跟RTS对齐的错误码,其他错误码或故障场景暂不处理。 See merge request: cann/runtime!2616 | 4 个月前 | |
【PR】: refactor: 拆分 MsqOperatorManager 模块并接入 msq so 调用 Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2378 merge msqope into master 【PR】: refactor: 拆分 MsqOperatorManager 模块并接入 msq so 调用 Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 对 aicpu_schedule 中 message queue 的 msq so 调用路径进行整理,并拆分 MsqOperatorManager 独立模块。 主要修改内容如下: 1. 新增独立模块: - core/aicpusd_msq_operator_manager.h - core/aicpusd_msq_operator_manager.cpp 2. 由 MsqOperatorManager 统一负责 libaicpu_msq_operator.so 的 dlopen/dlsym、符号管理以及 CallV1* / CallV2* 调用收口。 3. MsqImplV1/V2 改为通过 MsqOperatorManager 调用对应 MsqV1* / MsqV2* 符号。 4. LoadAllSymbols 调整为基于 map 的符号表加载方式,MSQ_OPERATOR_SO_NAME 调整为 std::string。 5. 更新 aicpu_schedule/CMakeLists.txt,将新增源文件纳入构建。 6. 在 MsqOperatorManager 调用收口位置补充函数级维测日志。 本次修改不改变现有 MsqImplV1/V2 的接口语义,主要用于增强代码模块隔离性和后续可维护性。 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue 无 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 在 runtime/build 目录执行: cmake --build /home/jiumao/open/runtime/build --target host_aicpu_scheduler_so queue_schedule_so -j4 2. 确认以下目标编译并链接成功: - host_aicpu_scheduler_so - queue_schedule_so 3. 确认新增模块已正确参与构建,并且 aicpusd_message_queue.cpp 能正常引用 MsqOperatorManager。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次构建验证已通过,验证命令如下: cmake --build /home/jiumao/open/runtime/build --target host_aicpu_scheduler_so queue_schedule_so -j4 说明: - 本次补充的是函数级维测日志,统一放在 MsqOperatorManager 调用封装结尾。 - 当前未在 so 内部增加寄存器级日志,后续如需进一步增强寄存器维测,可在 libaicpu_msq_operator.so 内部继续补充。 See merge request: cann/runtime!2378 | 4 个月前 | |
feat: add atrace sig35 bin log Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !2613 merge fix/atrace-sig35-bin-log-20260604 into master feat: add atrace sig35 bin log Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: # Pull Request ## 描述 本次 Pull Request 为 atrace SIG35 core dump 的 BIN 场景补充同名 .log 日志落盘能力,满足 BIN dump 也能保留可读日志的需求。 主要变更: 1. 为 stacktrace logger 增加后缀路径设置和带 flag 的保存接口,用于 BIN dump 生成同名 .log 文件。 2. 抽取 SIG35 BIN 信号判断辅助函数,保持 TXT 场景原有追加写行为。 3. BIN dump 完成后覆盖写 sub logcat,并由 main logcat 追加到同一个 .log 文件。 ## 变更类型 - [ ] Bug 修复 - [x] 新功能 - [ ] 代码风格更新(格式化,局部变量) - [ ] 重构(既不修复错误也不增加功能的代码变动) - [ ] 构建过程或辅助工具的变动 - [ ] 文档内容更新 ## 关联的Issue 无。 ## 如何测试 1. cmake --build build --target utrace_utest -j8 2. ./build/tests/ut/atrace/ut/utrace/utrace_utest --gtest_filter=TraceExecUtest.TestStacktraceExec:TraceStackcoreUtest.TestTraceStackSigHandler 3. git diff --check upstream/master..HEAD 4. PR 评论 /compile 触发流水。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于 commit message 的格式、无效 commit 的合并等 ## 其他信息 本次改动不涉及对外接口和用户文档更新,因此未更新文档。 See merge request: cann/runtime!2613 | 4 个月前 | |
【PR】: fix error_manager ut Co-authored-by: jiming<wangjiming5@huawei.com> # message auto-generated for no-merge-commit merge: !1970 merge fix into master 【PR】: fix error_manager ut Created-by: gcw_3CxwvBIO Commit-by: jiming Merged-by: cann-robot Description: # Pull Request ## 描述 修改error_manager ut错误 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!1970 | 5 个月前 | |
cmake工程中OPEN_SOURCE_DIR替换为CANN_3RD_LIB_PATH Co-authored-by: Feiteng Zheng<zhengfeiteng1@h-partners.com> # message auto-generated for no-merge-commit merge: !1332 merge 20260330-modify-open-source-dir into master cmake工程中OPEN_SOURCE_DIR替换为CANN_3RD_LIB_PATH Created-by: zhengfeiteng Commit-by: Feiteng Zheng Merged-by: cann-robot Description: ## 描述 cmake工程中OPEN_SOURCE_DIR替换为CANN_3RD_LIB_PATH ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在这里提供Issue链接。例如:关联Issue #000--> ## 测试 验证修改前后二进制一致。 ## 文档更新 <!--如果这个PR包含文档的更新,请在这里指出。例如:更新了README.md文件。--> ## 类型标签 <!-- [x] 表示选中 --> - [ ] Bug修复 - [ ] 新特性 - [x] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: See merge request: cann/runtime!1332 | 6 个月前 | |
【Profiling】Err Msg易用性提升 Co-authored-by: chenminghao11<chenminghao11@hisilicon.com> # message auto-generated for no-merge-commit merge: !2632 merge dts into master 【Profiling】Err Msg易用性提升 Created-by: chenminghao11 Commit-by: chenminghao11 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 Err Msg易用性提升 1:优化aclprofStart、aclprofStop传参不一致时的errmsg打屏信息 2:优化aclprofInit入参超长路径时的errmsg打屏信息 3:磁盘满时,增加具体路径的errmsg打屏信息 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> NA ## 如何测试 描述测试此变更的步骤和前提条件: 1.本地测试 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2632 | 4 个月前 | |
【PR】: 简要描述 延迟加载配置文件 Co-authored-by: jiang-mingming01<jiangmingming16@h-partners.com> # message auto-generated for no-merge-commit merge: !1880 merge br_mingmingj_loadonread_0428 into master 【PR】: 简要描述 延迟加载配置文件 Created-by: jiang-mingming01 Commit-by: jiang-mingming01 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 延迟加载文件,只加载需要查询的文件 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 没有逻辑改动,不影响现行逻辑,不影响看护用例 2.调用获取PlatFormInfos的单例接口 正常执行业务逻辑 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!1880 | 4 个月前 | |
refactor: rename duplicate runtime headers Co-authored-by: zhaowenrui666<zhaowenrui7@huawei.com> # message auto-generated for no-merge-commit merge: !2400 merge increname into master refactor: rename duplicate runtime headers Created-by: zhaowenrui666 Commit-by: zhaowenrui666 Merged-by: cann-robot Description: # Pull Request ## 描述 本次 PR 处理 runtime 仓内重复 basename 头文件的命名冲突问题,按模块前缀对相关头文件进行重命名,并同步更新仓内源码、UT、桩代码和必要的 CMake include 路径引用,避免重名头文件带来的 include 歧义。 主要变更包括: - 为 tsd 相关重名头文件增加 tsd_ 前缀 - 为 aicpu_kernel 重名头文件增加 aicpu_kernel_ 前缀 - 为 queue_schedule 相关重名头文件增加 bqs_ / qs_ 前缀 - 为多个 ProcMgrSysOperatorAgent.h 按模块重命名 - 删除 queue_schedule/stub 下重复的 bqs_server.h,统一引用已有的 server/bqs_server.h - 同步更新对应源码、UT、stub 和 CMake 中的 include 路径 ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/runtime/issues/558 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 检查仓内相关源码、UT、stub 中旧头文件名引用已全部替换为新名字。 2. 检查 queue_schedule 相关 CMake include 路径已覆盖重命名后的头文件目录。 3. 执行 bash tests/build_ut.sh --ut=aicpusd --target=queue_schedule_ut,确认目标可正常编译并进入 UT 执行阶段。 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本次修改不涉及业务逻辑调整,主要是头文件重命名及其引用联动更新。 See merge request: cann/runtime!2400 | 4 个月前 | |
【PR】: 错误日志规范化,npu_driver 及 npu_driver_mem 使用结构化错误码上报 Co-authored-by: s00357600sgd<shenguodong1@huawei.com> # message auto-generated for no-merge-commit merge: !2592 merge err_msg_update_06 into master 【PR】: 错误日志规范化,npu_driver 及 npu_driver_mem 使用结构化错误码上报 Created-by: s003576sgd Commit-by: s00357600sgd Merged-by: cann-robot Description: ## 描述 错误日志规范化,npu_driver 及 npu_driver_mem 使用结构化错误码上报 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 2. ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2592 | 4 个月前 | |
fix: gcc14 atrace slog ut build Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !2595 merge chore/debug-ubuntu-24-02-build-20260603 into master fix: gcc14 atrace slog ut build Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: # Pull Request ## 描述 修复 Ubuntu 24.04 / GCC 14 环境下 atrace/slog UT 构建问题。当前 PR 已回退并只保留首个修复提交 bb709846,修改范围限定在 tests/ut/atrace 和 tests/ut/slog。 主要内容: - atrace UT:补齐 stub 所需声明和类型适配,处理 GCC 14 下的编译错误。 - slog UT:补充 UT stub 兼容头文件、include 路径和必要编译选项,处理 GCC 14 下的 mockcpp/历史 stub 编译问题。 - slog UT:调整相关 UT 代码,适配 Ubuntu 24.04 线上编译环境。 ## 关联的Issue - https://gitcode.com/cann/runtime/issues/566 ## 验证 - compile@wyx_image run f6edcfc3fc61431eb42f25ec5f1992d6:UT_Test_atrace 通过,UT_Test_slog 通过。 - 同一 run 中 UT_Test_msprof、UT_Test_adump 失败,按当前要求不在本 PR 中处理。 ## 核对清单 - [x] 修改范围仅限 UT 仓相关文件 - [x] 关联 issue #566 - [x] 已通过 compile@wyx_image 的 atrace/slog 验证 See merge request: cann/runtime!2595 | 4 个月前 | |
【PR】: 简要描述 Co-authored-by: pan-tong<pantong@huawei.com> # message auto-generated for no-merge-commit merge: !2367 merge feat/plugin-version-compat into master 【PR】: 简要描述 Created-by: pan-tong Commit-by: pan-tong Merged-by: cann-robot Description: # Pull Request ## 描述 新增 host/device compat 插件包基于 **DRV 升级策略 + version + timestamp + checkcode** 的多级装包决策,避免在 host/device 插件包内容已一致时重复下发,并支持版本回退/前进的精准控制。 在 LoadPackageToDeviceByConfig 中识别 compat 插件包后,按以下优先级判定是否真实下发: 1. **DRV 升级策略**:通过 halGetDeviceInfo(MODULE_TYPE_SYSTEM, INFO_TYPE_SWPLUGIN_UPGRADE_FLAG) 取 PluginUpdateStrategy: - PLUGIN_NO_UPDATE:跳过该包; - PLUGIN_FORCE_UPDATE:忽略版本,回落 checkcode(一致仍跳过避免无意义传输); - PLUGIN_NOT_FORCE_UPDATE:进入版本比较。 - DRV 调用失败或返回值不在 [0,2] 范围内:打 TSD_RUN_WARN 并回落到 PLUGIN_NOT_FORCE_UPDATE(走版本比较),流程不拦截;失败结果不缓存,下次仍可重试。 2. **device 侧版本可得性**:device 未上报版本(旧 tsdaemon / 未加载过)时回落 checkcode;host 侧 .ini 缺失或解析失败时跳过下发并打 WARN。 3. **PluginPkgVersionUtil::Compare**:host 新于 device → 装;host 旧于或等于 device → 跳过。 ### 数据通路 - **host 侧 compat 插件包版本采集**:由 PackageProcessConfig::RefreshHostPluginVersions 在 LoadPackageConfigInfoToDevice 中调用,遍历 configMap_ 仅对 COMPAT_PLUGIN_PATH 的条目解析同名 .ini 文件得到 version/timestamp,结果存入 PackageProcessConfig::hostPluginVersions_,并由 ConstructPkgConfigMsg 写入 host_plugin_versions 字段随 TSD_UPDATE_PACKAGE_PROCESS_CONFIG 一并下发。 - **device 侧版本回传**:device 在收到 TSD_UPDATE_PACKAGE_PROCESS_CONFIG 后,于 TSD_UPDATE_PACKAGE_PROCESS_CONFIG_RSP 的 device_plugin_versions 字段回填本地已加载 compat 插件包版本,host 侧 ProcessModeMsgParse::DeviceMsgProcess 收到后调用 HandleDevicePluginVersionRsp 把数据存入 ProcessModeManager::devicePluginVersions_。 ### 工具函数整合 - plugin_pkg_version.cpp 中的 Trim/Split/CompareSegmentNumeric 抽出到 tsd_util_func: - tsd::SplitByChar、tsd::CompareSegmentNumeric 直接迁出; - 因 tsd_util_func.cpp 已存在仅去空格的 Trim,新增并保留语义上去全部空白字符的 tsd::TrimWhitespace,避免修改既有调用方。 - PluginPkgVersionUtil::ParseIniFile 限制最多解析 10 行,且在拿到 version + timestamp 后立刻 break。 ### Loader 圈复杂度治理 - 将 LoadPackageToDeviceByConfig 的圈复杂度降到 20 以下,抽取两个辅助函数: - GetTrustedBasePathFromDevice:封装 drvHdcGetTrustedBasePathV2 取信任根路径; - LoadSinglePackageToDevice:封装单个包的「是否需要加载 → 取路径 → 计算 hash → compat 版本/策略判定 → checkcode 判定 → 下发」全流程,返回 TSD_StatusT。 - 主函数仅保留「支持性判断 + 取路径 + 遍历配置」骨架,逻辑等价、可读性更佳。 ## 单元测试 - tsd_client_utest:673/673 通过。 - 新增/调整的用例覆盖:IsCompatPluginPackage、GetPluginUpdateStrategy(含 DRV 失败/越界 fallback)、ShouldLoadCompatPluginPkg(NoUpdate/Force/ForceHashSame/DeviceVersionEmpty±HashSame/HostNewer/HostOlder/SameVersion/HostIniMissing)、ConstructOpenMsg_DoesNotCarryPluginInfo、PluginPkgVersionUtil 解析与比较。 ## 变更类型 - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #582 ## 如何测试 1. 编译构建 runtime,确保 tsd_client_utest 通过; 2. 运行 tsd_client_utest,重点覆盖 LoadPackageToDeviceByConfig、GetPluginUpdateStrategy、ShouldLoadCompatPluginPkg、PluginPkgVersionUtil 等用例; 3. host/device 联调场景验证 compat 插件包按版本/策略下发与跳过逻辑。  ## Self-check - [x] 代码符合贡献指南 - [x] 已构建并通过单元测试 - [x] 提交信息符合规范 See merge request: cann/runtime!2367 | 4 个月前 | |
【PR】: 支持回调方式将plog日志原始内容输出给用户使用 Co-authored-by: newstarzj<zhangjie230@huawei.com> # message auto-generated for no-merge-commit merge: !2555 merge master_plog_callback into master 【PR】: 支持回调方式将plog日志原始内容输出给用户使用 Created-by: newstarzj Commit-by: newstarzj Merged-by: cann-robot Description: # Pull Request ## 描述 支持回调方式将plog日志原始内容输出给用户使用 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue https://gitcode.com/cann/runtime/issues/563 ## 如何测试 UT ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!2555 | 4 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 5 个月前 | ||
| 6 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 | ||
| 4 个月前 |