| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
【PR】: feat: support aclrtMemMapSetLink Co-authored-by: dongjiangtao<dongjiangtao@huawei.com> # message auto-generated for no-merge-commit merge: !3938 merge 52 into master 【PR】: feat: support aclrtMemMapSetLink Created-by: dongjiangtao Commit-by: dongjiangtao Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 feat: support aclrtMemMapSetLink,代码告警清理,以及修正单次ipc close的接口时,只调用一次驱动释放接口释放va,而不是遍历释放的bug ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 新增接口,无兼容性问题,调用该接口功能正常 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3938 | 2 天前 | |
feat: support aicpu exception Co-authored-by: yring_8<yangrui1@huawei.com> # message auto-generated for no-merge-commit merge: !3588 merge br_master_fe_aicpu_exception into master feat: support aicpu exception Created-by: yring_8 Commit-by: yring_8 Merged-by: cann-robot Description: # Pull Request ## 描述 exception dump 支持 AICPU 类型异常,并重构异常 dump 的判定逻辑。 主要变更: - 新增 AICPU 异常支持:GetExceptionTaskTypeName 增加 RT_EXCEPTION_AICPU → "aicpu";GetExceptionKernelName 增加 AICPU 分支,从 expandInfo.u.aicpuInfo.kernelName 取核名(其余类型仍走exceptionArgs)。 - 重构 dump 判定:将 ExceptionDumper 私有的 NeedDumpException 拆为两个公共静态方法 IsSupportExceptionDump / IsSupportDefaultExceptionDump,前者放行 FFTS_PLUS/AICORE/FUSION/AICPU(AICPU仅走 callback dump),后者不含 AICPU。 - callback 兼容 AICPU:InvokeCallbacks 中 coreNum == 0 时 maxDumpSize 兜底为 1(AICPU 无 core 概念)。 - 补充 IsSupportExceptionDump / IsSupportDefaultExceptionDump / GetExceptionKernelName 的单元测试。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> 不涉及 ## 如何测试 描述测试此变更的步骤和前提条件: 1. 构建 adump UT:bash tests/build_ut.sh --ut -t adump -j16(或复用 build 目录 cmake --build build --target adump_ut -j16) 2. 定向运行:adump_base_utest --gtest_filter='ExceptionInfoCommonUtest.*' → 8/8 PASS ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 本改动依赖 runtime 对外头文件 base.h / rt_external_base.h 中的 AICPU 结构体定义(RT_EXCEPTION_AICPU、rtAicpuExDetailInfo_t、rtFuncHandle),需与 PR #3495 保持一致。 See merge request: cann/runtime!3588 | 12 天前 | |
【PR】: feat:适配datadump统计模式新接口 Co-authored-by: liu-lu<www.liulu824910939@qq.com> # message auto-generated for no-merge-commit merge: !3835 merge master into master 【PR】: feat:适配datadump统计模式新接口 Created-by: liu-lu Commit-by: liu-lu Merged-by: cann-robot Description: # Pull Request ## 描述 适配 datadump 统计模式(stats mode)新接口,主要变更如下: 1. **字段重命名**:将 isSingleOrUnknowShapeOp_ 重命名为 skipAddressConversion_,准确表达「是否跳过基于 addrtype 的地址转换」的语义。涉及 aicpu_cust_schedule 与 aicpu_schedule 两套 dump_task.cpp/.h,同步更新构造函数、PreProcessOpMappingInfo、ProcessInputDump、ProcessOutputDump、GetInputDataAddr、GetOutputDataAddr、ProcessngNoTiliInput/Output、DumpPath 等所有引用点。 2. **新增弱符号 AdumpStatsOpInitStatus()**:在 aicpu_schedule/core/dfx/dump_task.h 中以 extern "C" + __attribute__((weak)) 声明,运行时通过 &AdumpStatsOpInitStatus != nullptr 判断符号是否存在,保证向前兼容。 3. **动态选择 KFC dump API**:CheckAndGetKfcDumpStatsAPI() 中根据 AdumpStatsOpInitStatus() 返回值动态选择 dlsym 符号名(AdumpStatsOpSrvLaunch 或 AicpuKfcDumpSrvLaunch),并在日志中打印实际使用的 API 名称,便于定位。 4. **日志优化**:dump_task_manager.cpp 补充信息来源标注(from ts / from dump task)并同步字段名。 5. **UT 同步**:更新 aicpu_cust_schedule_test.cc 与 aicpusd_dump_task_test.cc 中所有字段引用。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> #770 ## 如何测试 描述测试此变更的步骤和前提条件: 1. **原有 dump 统计模式回归**:测试原有 dump 统计模式(弱符号不存在场景),验证行为不变,KFC dump API 仍走 AicpuKfcDumpSrvLaunch。 2. **新统计模式接口验证**:在弱符号 AdumpStatsOpInitStatus() 存在且返回 true 的场景下,验证 KFC dump API 正确切换为 AdumpStatsOpSrvLaunch,日志打印对应 API 名称。 3. **地址转换逻辑验证**:分别测试 skipAddressConversion_ 为 true/false 时,输入/输出 dump 的地址转换行为(单算子跳过转换、普通算子执行转换)符合预期。 4. **单元测试**:执行 aicpu_cust_schedule_test 与 aicpusd_dump_task_test,验证 GetInputDataAddr、GetOutputDataAddr、ProcessInputDump 等用例通过。 5. **日志检查**:验证 dump_task_manager.cpp 日志正确标注来源(from ts / from dump task)。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 - 变更涉及 aicpu_cust_schedule 与 aicpu_schedule 两套 dump_task 实现,需确保两者行为一致。 - 弱符号机制保证旧版本运行时(无 AdumpStatsOpInitStatus 符号)仍可正常工作,无破坏性变更。 See merge request: cann/runtime!3835 | 5 天前 | |
fix: atrce捕获信号时,启动子进程asc_dumper没有预期coredump (#762) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !3784 merge fix-issue-762 into master fix: atrce捕获信号时,启动子进程asc_dumper没有预期coredump (#762) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: # Pull Request ## 描述 - 修复摘要: 有一个测试例,会编译一个假的asc_dumper替换cann包的asc_dumper; - 变更文件: - src/dfx/trace/atrace/utrace/stacktrace/stacktrace_err_code.h - src/dfx/trace/atrace/utrace/stacktrace/stacktrace_exec.c - tests/ut/atrace/ut/utrace/testcase/stacktrace/stacktrace_exec_utest.cc ### Diff 摘要 text .../atrace/utrace/stacktrace/stacktrace_err_code.h | 3 ++- .../atrace/utrace/stacktrace/stacktrace_exec.c | 31 ++++++++++++++++++++++ .../testcase/stacktrace/stacktrace_exec_utest.cc | 27 +++++++++++++++++++ 3 files changed, 60 insertions(+), 1 deletion(-) ## 变更类型 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 关联的Issue https://gitcode.com/cann/runtime/issues/762 ## 如何测试 - 测试结论: PASS - 检测到代码变更文件 3 个: src/dfx/trace/atrace/utrace/stacktrace/stacktrace_err_code.h, src/dfx/trace/atrace/utrace/stacktrace/stacktrace_exec.c, tests/ut/atrace/ut/utrace/testcase/stacktrace/stacktrace_exec_utest.cc - 测试日志包含通过信号 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 ## 风险和遗留问题 - 测试日志未能映射到 plan 测试计划中的关键输入或命令 See merge request: cann/runtime!3784 | 9 天前 | |
【refactor】: liberror_manager统一使用 CSTR adapter (json parse) Co-authored-by: kantao1<kantao1@huawei.com> # message auto-generated for no-merge-commit merge: !3578 merge master into master 【refactor】: liberror_manager统一使用 CSTR adapter (json parse) Created-by: kantao1 Commit-by: kantao1 Merged-by: cann-robot Description: # Pull Request ## 描述 **背景** json 需要从 3.11.3 升级到 3.12.0,而 3.12.0 引入了模版。 当前 liberror_manager.so 源文件中存在 stream 和 char* 两种 json parse adapter,最终会导致 SO 中存在两份实例,进而导致 SO 体积过度膨胀。 **目的** 在 json 正式升级前,先统一json parse adapter,即使用 CSTR adapter。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.可能对性能有影响,需要跑性能相关用例 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3578 | 19 天前 | |
feat: update .pre-commit-config.yaml for mmpa & error_manager Co-authored-by: likun104<likun104@h-partners.com> # message auto-generated for no-merge-commit merge: !3771 merge br_update_pre-commit-config.yaml into master feat: update .pre-commit-config.yaml for mmpa & error_manager Created-by: likun104 Commit-by: likun104 Merged-by: cann-robot Description: # Pull Request ## 描述 为mmpa & error_manager更新“.pre-commit-config.yaml”文件中的配置 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1. 流水线跑通过 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3771 | 9 天前 | |
[Profiling]【feat】:profiling支持处理丢失数据返回码 Co-authored-by: z296249221<zhengkai40@huawei.com> # message auto-generated for no-merge-commit merge: !3741 merge profiling-feat-return-code into master [Profiling]【feat】:profiling支持处理丢失数据返回码 Created-by: z296249221 Commit-by: z296249221 Merged-by: cann-robot Description: # Pull Request ## 描述 请清晰准确地描述本次 Pull Request 的意图和变更内容。 【prof channel返回码优化】profiling支持处理丢失数据返回码 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> NA ## 如何测试 描述测试此变更的步骤和前提条件: 1. 验证是否正确返回状态码,打印错误日志。 2. 验证新driver包+新runtime包、新driver包+老runtime包、老driver包+新runtime包、老driver包+老runtime包的兼容性。 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3741 | 2 天前 | |
【PR】: feat: add kirin platform: 5101 & 5161 & 5165 & 5163 Co-authored-by: zengjuan<zengjuan2@huawei.com> # message auto-generated for no-merge-commit merge: !3893 merge master into master 【PR】: feat: add kirin platform: 5101 & 5161 & 5165 & 5163 Created-by: zengjuan Commit-by: zengjuan Merged-by: cann-robot Description: # Pull Request ## 描述 add kirin platform: 5101 & 5161 & 5165 & 5163 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [x] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: 1.测试不影响现有编译、功能即可 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3893 | 2 天前 | |
【PR】: clang-format tests/runtime Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3726 merge master_clang into master 【PR】: clang-format tests/runtime Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 clang-format tests/runtime ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [x] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: clang-format tests/runtime ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3726 | 13 天前 | |
【PR】:fix ut hang Co-authored-by: duanpengliang<duanpengliang@huawei.com> # message auto-generated for no-merge-commit merge: !3978 merge master_main into master 【PR】:fix ut hang Created-by: duanpengliang Commit-by: duanpengliang Merged-by: cann-robot Description: # Pull Request ## 描述 本 PR 主要修复 Runtime UT 在随机重复压测中出现的偶现卡死和段错误:针对 Runtime 退出时接收线程已经停止、发送线程仍等待收发计数相等而无法退出的问题,在 HAL stub 中增加退出态判断;针对全局设备状态 mock 被 Runtime 后台监控线程同时命中、导致设备被错误标记为通信异常的问题,使用 thread_local 将故障返回限制在当前测试线程;针对 XPU 后台回收线程与主线程并发进入全局 mock 导致 mockcpp 状态损坏的问题,在同步用例中禁止唤醒异步回收线程;同时移除 Model 用例在异步 Engine 启动后切换全局 disableThread 的行为,改用 EXECUTOR_AICPU 验证 Stream 同步超时,并新增独立的 EXECUTOR_TS 用例验证任务超时错误码映射,从而在保持测试覆盖的同时消除线程模式切换和全局 mock 带来的并发竞态。 ## 变更类型 请选择本次引入的变更类型: <!-- [x] 表示选中 --> - [x] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [ ] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [ ] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue <!-- 如果这个PR是为了解决特定的Issue,请在当前页面的右侧'关联Issue'部分添加相应Issue链接,并勾选'合并后关闭已关联的 Issue'选项。 --> ## 如何测试 描述测试此变更的步骤和前提条件: ut压测执行无问题 ## 核对清单 <!-- [x] 表示选中 --> - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如: feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 See merge request: cann/runtime!3978 | 2 天前 | |
fix: iam场景环境变量设为1时info日志被slogd丢弃 (#789) Co-authored-by: GuoWenbo<guowenbo13@h-partners.com> # message auto-generated for no-merge-commit merge: !3989 merge fix-issue-789 into master fix: iam场景环境变量设为1时info日志被slogd丢弃 (#789) Created-by: GuoWenbo Commit-by: GuoWenbo Merged-by: cann-robot Description: ## 描述 - 修复摘要: 设置环境变量ASCEND_GLOBAL_LOG_LEVEL为1,执行二进制runtime_test打印runtime日志,发现落盘日志没有info日志; - 变更文件: - src/dfx/log/liblog/slog/dlog_core_iam.c - tests/ut/slog/ut/iam/CMakeLists.txt - tests/ut/slog/ut/iam/iam_app_slog_level_filter_utest.cc ### Diff 摘要 text src/dfx/log/liblog/slog/dlog_core_iam.c | 5 + tests/ut/slog/ut/iam/CMakeLists.txt | 64 ++++++++ .../slog/ut/iam/iam_app_slog_level_filter_utest.cc | 180 +++++++++++++++++++++ 3 files changed, 249 insertions(+) ## 变更类型 <!-- [x] 表示选中 --> - [x] Bug修复 - [ ] 新特性 - [ ] 性能优化 - [ ] 文档更新 - [ ] 其他,请描述: ## 关联的Issue https://gitcode.com/cann/runtime/issues/789 ## 如何测试 - 测试结论: PASS 修复内容:DlogInit(dlog_core_iam.c)在 LOG_CPP/APP_LOG 构建下补上 DlogUpdateFlierLevelStatus() 调用,关闭 slogd 侧对日志级别的二次校验。 根因:ASCEND_GLOBAL_LOG_LEVEL=1 在 APP_LOG 构建下已被 dlog_level_env.c:161 的 DlogLevelInit 读取,客户端放开 info 并写入 ring buffer;但 dlog_level_mgr.h:22 的 LEVEL_FILTER 条件(!defined LOG_CPP && defined IAM) 未覆盖 APP_LOG,buffer 的 levelFilter 被初始化为 LEVEL_FILTER_OPEN,于是 slogd_communication_iam.c:200 用 slog.conf 的默认级别 3 再筛一次,info 被丢弃。 DlogUpdateFlierLevelStatus(dlog_async_process.c:466)本就是为关闭该二次校验 而实现,此前在产品代码中没有任何调用点。 调用位置说明:该函数首行检查 g_dlogAsyncMgr.initFlag,而该标志在 DlogAsyncInit() 末尾才置位,因此调用必须放在 DlogAsyncInit() 之后。 测试执行情况: - 新增 UT target iam_app_slog_utest(IAM + APP_LOG,使用 dlog_level_env.c, 与 libunified_dlog.so 的实际构建组合一致)。断言点是回读 IAM service 文件头部 的 levelFilter,即 slogd 的真实判据。 - 修复前基线:ClosesSlogdLevelFilterWhenEnvLowersLevel 未通过, levelFilter 实测 1(LEVEL_FILTER_OPEN),期望 0(LEVEL_FILTER_CLOSE)。 - 修复后:该用例与默认级别回归用例均通过。 - 回归:iam_slog_utest 4、iam_slogd_utest 5、log_libalog_utest 20、 log_common_utest 105、ep_slogd_utest 220、rc_alog_utest 9、 新增 iam_app_slog_utest 2,合计 365 个用例通过,0 失败。 - 产品目标 slog 与 unified_dlog 在 -Werror 下构建通过,无新增告警。 - 变更文件 3 个:src/dfx/log/liblog/slog/dlog_core_iam.c、 tests/ut/slog/ut/iam/CMakeLists.txt、 tests/ut/slog/ut/iam/iam_app_slog_level_filter_utest.cc。 ## 核对清单 <!-- [x] 表示选中 --> - [ ] 我的代码遵循了项目的代码风格 - [ ] 我已对代码进行了自测 - [ ] 我已更新了相关的文档 - [ ] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [ ] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 在此添加任何其他关于本次 PR 的说明。 ## 风险和遗留问题 以下为需评审关注的残留项,非测试失败项: - 行为变化:修复后 APP_LOG 场景的日志级别以客户端(环境变量)为唯一判据, slogd 不再按 slog.conf 二次收紧。从 dlog_level_env.c:63 的语义 (env 优先于配置文件)看这是预期结果,但属于可观察的行为变化,请评审确认。 - dlog_level_mgr.h:22 的 LEVEL_FILTER 宏本身仍未把 APP_LOG 纳入条件。 本次为控制影响面未改动它;若要从源头消除该不一致,建议另开 issue 评估。 - 覆盖边界:dlog_core_iam.c 在本仓没有任何产品 target 编译(本仓 unified_dlog 使用 dlog_core.c),IAM 产品构建在仓外。因此仓内验证依赖新增 UT;真实 iam 场景的落盘行为以 issue 报告者已完成的实机验证为准。 - 若 DlogAsyncInit() 未成功(IAM 服务未就绪等),initFlag 为 false,本修复 不生效。已确认此场景无覆盖缺口:DlogFlushBuf(dlog_async_process.c:438) 有相同的 initFlag 守卫,日志同样不会到达 slogd。 See merge request: cann/runtime!3989 | 1 天前 | |
【PR】: 简要描述 process mode manager 上帝类重构 Co-authored-by: LiWei79<liwei174@huawei.com> # message auto-generated for no-merge-commit merge: !3632 merge package_manager into master 【PR】: 简要描述 process mode manager 上帝类重构 Created-by: LiWei79 Commit-by: LiWei79 Merged-by: cann-robot Description: # Pull Request ## 描述 对 ProcessModeManager 上帝类进行重构,将其拆分为 4 个单一职责的类,同时归档包处理文件到 basic_component/package_manager。 ### 主要变更 **1. ProcessModeManager God Class 拆分** - **提取 ProcessSharedContext** — 将 rspCode_/errMsg_/errorLog_/startOrStopFailCode_/openSubPid_/pidArry_/pidList_ 等共享响应状态提取为独立的 ProcessSharedContext 结构体 - **提取 ResponseMsgDispatcher** — 将 DeviceMsgProcess/ServerToClientMsgProc/PackageInfoMsgProc/CapabilityResMsgProc/PidQosMsgProc/StoreProcListStatus 等 21 条消息回调注册和响应处理逻辑提取为独立的 ResponseMsgDispatcher 类 - **提取 SubProcessController** — 将 ProcessOpenSubProc/ProcessCloseSubProc/ProcessCloseSubProcList/GetSubProcStatus/GetSubProcListStatus/RemoveFileOnDevice 等 SubProc 生命周期管理方法提取为独立的 SubProcessController 类 - **提取 TsdProcessController** — 将 Open/Close/GetHdcConctStatus/InitQs/UpdateProfilingConf/WaitRsp/BuildBaseMessageContext 等 TSD 进程生命周期管理方法提取为独立的 TsdProcessController 类 **2. PackageManager 抽取** - 将 ProcessModeManager 中的包管理功能解耦为独立的 PackageManager 类,以组合形式存在于 ProcessModeManager 中 - 将所有包处理相关文件从 common/ 和 tsdclient/ 归档到 basic_component/package_manager/ **3. Stub 文件整理** - 合并 stub_process_mode_nowin.cpp 到 tsd_process_controller.cpp - 迁移 stub_dc.cpp 到 common/stub/ - 删除 tsdclient/src/stub/ 空目录 ### 重构前后对比 | 指标 | 重构前 | 重构后 | |------|--------|--------| | ProcessModeManager.h 行数 | 229 | 166 | | ProcessModeManager.cpp 行数 | 783 | 114 | | ProcessModeManager 方法数 | 60+ | 16(薄委托) | | ProcessModeManager 数据成员 | 25+ | 6 | | 新增类 | - | ProcessSharedContext / ResponseMsgDispatcher / SubProcessController / TsdProcessController | ## 变更类型 请选择本次引入的变更类型: - [ ] 🐛 Bug 修复 - [ ] ✨ 新功能 - [ ] 💄 代码风格更新(格式化,局部变量) - [x] ♻️ 重构(既不修复错误也不增加功能的代码变动) - [x] 📦 构建过程或辅助工具的变动 - [ ] 📝 文档内容更新 ## 关联的Issue #733 ## 如何测试 根据代码变更,测试场景如下: 1. **编译构建测试** - 执行 cmake 配置和编译,验证 CMakeLists.txt 配置变更正确 - 验证 libtsdclient.so 能正确链接 2. **单元测试** - 执行 tsd_client_utest,验证 774 个测试用例全部通过 - 验证 ProcessModeManager 的所有 virtual 接口(Open/Close/GetHdcConctStatus/ProcessOpenSubProc 等)行为不变 - 验证 ResponseMsgDispatcher 的 21 条消息回调注册和分发正确 - 验证 SubProcessController 的子进程管理功能(Open/Close/GetStatus) - 验证 TsdProcessController 的 TSD 进程管理功能(Open/Close/InitQs/UpdateProfilingConf) 3. **ABI 兼容性验证** - 验证对外 C API 符号(TsdOpen/TsdClose/GetHdcConctStatus 等 12 个)无变化 - 验证 ProcessModeManager 虚函数表(vtable)无变化 ## 核对清单 - [x] 我的代码遵循了项目的代码风格 - [x] 我已对代码进行了自测 - [x] 我已更新了相关的文档 - [x] 我在标题中使用了合适的类型标签(如:feat:, fix:) - [x] 我已经详细阅读了贡献指南(CONTRIBUTING.md),并遵守了其中的所有规定,包括但不限于commit message的格式、无效commit的合并等 ## 其他信息 重构方案基于 Composition over Inheritance + Facade 设计模式,已通过专家代码审查(修复了 POD 成员未初始化和封装性问题),UT 774 passed 零回归,ABI 无变化。 See merge request: cann/runtime!3632 | 9 天前 | |
【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 | 1 个月前 |
| 文件 | 最后提交记录 | 最后更新时间 |
|---|---|---|
| 2 天前 | ||
| 12 天前 | ||
| 5 天前 | ||
| 9 天前 | ||
| 19 天前 | ||
| 9 天前 | ||
| 2 天前 | ||
| 2 天前 | ||
| 13 天前 | ||
| 2 天前 | ||
| 1 天前 | ||
| 9 天前 | ||
| 1 个月前 |