登录
注册
开源
企业版
高校版
搜索
帮助中心
使用条款
关于我们
开源
企业版
高校版
私有云
模力方舟
登录
注册
代码拉取完成,页面将自动刷新
捐赠
捐赠前请先登录
取消
前往登录
扫描微信二维码支付
取消
支付完成
支付提示
将跳转至支付宝完成支付
确定
取消
Watch
不关注
关注所有动态
仅关注版本发行动态
关注但不提醒动态
4
Star
1
Fork
9
src-openEuler
/
powerapi
代码
Issues
4
Pull Requests
2
Wiki
统计
流水线
服务
JavaDoc
PHPDoc
质量分析
Jenkins for Gitee
腾讯云托管
腾讯云 Serverless
悬镜安全
阿里云 SAE
Codeblitz
SBOM
我知道了,不再自动展开
更新失败,请稍后重试!
移除标识
内容风险标识
本任务被
标识为内容中包含有代码安全 Bug 、隐私泄露等敏感信息,仓库外成员不可访问
[24.03 LTS SP1][RISC-V] powerapi_interface 测试 PWR_CPU_GetFreq 和 PWR_CPU_GetPerfData 失败
待办的
#IC1T3Z
缺陷
peeweep
创建于
2025-04-17 10:39
**【环境信息】** 内核信息: Linux openeuler-riscv64 6.6.0-72.1.0.47.oe2503.riscv64 #1 SMP PREEMPT Thu Feb 20 11:06:39 UTC 2025 riscv64 riscv64 riscv64 GNU/Linux 硬件信息: SG2042 、24.03 LTS SP1 QEMU镜像 **【问题复现步骤】** 安装 powerapi ``` yum install powerapi-devel gcc -y ``` 共有两个接口测试失败 1. PWR_CPU_GetFreq: ``` wget https://gitee.com/openeuler/mugen/raw/master/testcases/feature-test/powerapi_interface/common/demo_main.c -O demo_main.c echo "int main(int argc, const char *args[]) { TEST_PWR_SetLogCallback(); TEST_PWR_Register(); TEST_PWR_CPU_GetFreq_1(); TEST_PWR_UnRegister(); return 0; } " >> demo_main.c gcc ./demo_main.c -o demo_main -lpwrapi ./demo_main ``` 测试用例中期望值是 PWR_CPU_GetFreq :SUCCESS, x86 平台可以成功打印 PWR_CPU_GetFreq :SUCCESS, riscv 平台打印报错 PWR_CPU_GetFreq :ERROR ``` [root@vm13000-selinux powerapi_interface]# ./demo_main [TEST ] PWR_SetLogCallback :SUCCESS ret: 0 [INFO ] Connect to server succeed. fd: 3 [TEST ] PWR_Register :SUCCESS ret: 0 [ERROR] Rsp error. optType: 211, seqId: 123731968 [ERROR] Send req failed. optType: 211, ret: 3 [ERROR] GetCpuCurFreq failed. ret: 3 [TEST ] PWR_CPU_GetFreq :ERROR ret: 3 policy[0]: 0.000000 policy[0]: 0.000000 ``` 2. PWR_CPU_GetPerfData ``` wget https://gitee.com/openeuler/mugen/raw/master/testcases/feature-test/powerapi_interface/common/demo_main.c -O demo_main.c echo "int main(int argc, const char *args[]) { TEST_PWR_Register(); TEST_PWR_COM_DcTaskMgr(); TEST_PWR_UnRegister(); return 0; } " >> demo_main.c gcc ./demo_main.c -o demo_main -lpwrapi ./demo_main ``` ``` [INFO ] Connect to server succeed. fd: 3 [TEST ] PWR_Register :SUCCESS ret: 0 [TEST ] PWR_SetMetaDataCallback :SUCCESS ret: 0 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:2 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:3 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:4 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:-1 [TASK ] Get cpu usage. avgUsage: 0.016833, coreNum:64, ctime:2025-04-16 15:07:21.842 [TASK ] Get cpu usage. avgUsage: 0.017879, coreNum:64, ctime:2025-04-16 15:07:22.841 [TASK ] Get cpu usage. avgUsage: 0.017483, coreNum:64, ctime:2025-04-16 15:07:23.842 [TASK ] Get cpu usage. avgUsage: 0.016838, coreNum:64, ctime:2025-04-16 15:07:24.841 [TASK ] Get cpu usage. avgUsage: 0.016621, coreNum:64, ctime:2025-04-16 15:07:25.841 [TASK ] Get cpu usage. avgUsage: 0.016103, coreNum:64, ctime:2025-04-16 15:07:26.841 [TASK ] Get cpu usage. avgUsage: 0.017081, coreNum:64, ctime:2025-04-16 15:07:27.839 [TASK ] Get cpu usage. avgUsage: 0.016542, coreNum:64, ctime:2025-04-16 15:07:28.839 [TASK ] Get cpu usage. avgUsage: 0.017107, coreNum:64, ctime:2025-04-16 15:07:29.839 [TASK ] Get cpu usage. avgUsage: 0.016870, coreNum:64, ctime:2025-04-16 15:07:30.839 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:2 [ERROR] Rsp error. optType: 11, seqId: 1173356548 [ERROR] Send req failed. optType: 11, ret: 401 [ERROR] DeleteDcTask failed. ret: 401 [TEST ] PWR_DeleteDcTask :ERROR ret: 401 dataType:3 [TEST ] PWR_UnRegister :SUCCESS ret: 0 ``` 测试用例中期望有 Get perf data 打印,在 x86 上成功打印,但是在 riscv 平台上尝试过在 qemu 启动参数添加 sscofpmf=true 和在 sg2042 实体机下测试,都没有打印 perf data。 x86 的打印如下 ``` [INFO ] Connect to server succeed. fd: 3 [TEST ] PWR_Register :SUCCESS ret: 0 [TEST ] PWR_SetMetaDataCallback :SUCCESS ret: 0 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:2 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:3 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:4 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:-1 [TASK ] Get perf data. ipc: 0.246963 miss: 0.000000, ctime:2025-04-16 15:56:40.426 [TASK ] Get cpu usage. avgUsage: 0.012531, coreNum:16, ctime:2025-04-16 15:56:40.431 [TASK ] Get perf data. ipc: 0.252177 miss: 0.000000, ctime:2025-04-16 15:56:41.427 [TASK ] Get cpu usage. avgUsage: 0.010050, coreNum:16, ctime:2025-04-16 15:56:41.431 [TASK ] Get perf data. ipc: 0.237329 miss: 0.000000, ctime:2025-04-16 15:56:42.427 [TASK ] Get cpu usage. avgUsage: 0.005025, coreNum:16, ctime:2025-04-16 15:56:42.432 [TASK ] Get perf data. ipc: 0.244158 miss: 0.000000, ctime:2025-04-16 15:56:43.428 [TASK ] Get cpu usage. avgUsage: 0.007519, coreNum:16, ctime:2025-04-16 15:56:43.432 [TASK ] Get perf data. ipc: 0.245372 miss: 0.000000, ctime:2025-04-16 15:56:44.429 [TASK ] Get cpu usage. avgUsage: 0.012469, coreNum:16, ctime:2025-04-16 15:56:44.433 [TASK ] Get perf data. ipc: 0.254336 miss: 0.000000, ctime:2025-04-16 15:56:45.429 [TASK ] Get cpu usage. avgUsage: 0.007519, coreNum:16, ctime:2025-04-16 15:56:45.434 [TASK ] Get perf data. ipc: 0.221112 miss: 0.000000, ctime:2025-04-16 15:56:46.430 [TASK ] Get cpu usage. avgUsage: 0.012531, coreNum:16, ctime:2025-04-16 15:56:46.435 [TASK ] Get perf data. ipc: 0.256797 miss: 0.000000, ctime:2025-04-16 15:56:47.430 [TASK ] Get cpu usage. avgUsage: 0.005025, coreNum:16, ctime:2025-04-16 15:56:47.436 [TASK ] Get perf data. ipc: 0.235925 miss: 0.000000, ctime:2025-04-16 15:56:48.430 [TASK ] Get cpu usage. avgUsage: 0.010000, coreNum:16, ctime:2025-04-16 15:56:48.436 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:2 [ERROR] Rsp error. optType: 11, seqId: 561643524 [ERROR] Send req failed. optType: 11, ret: 401 [ERROR] DeleteDcTask failed. ret: 401 [TEST ] PWR_DeleteDcTask :ERROR ret: 401 dataType:3 [TEST ] PWR_UnRegister :SUCCESS ret: 0 ``` **二、缺陷分析结构反馈** 影响性分析说明: 缺陷严重等级:(Critical/High/Moderate/Low) 缺陷根因说明: 受影响版本排查(受影响/不受影响): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1 修复是否涉及abi变化(是/否): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1
**【环境信息】** 内核信息: Linux openeuler-riscv64 6.6.0-72.1.0.47.oe2503.riscv64 #1 SMP PREEMPT Thu Feb 20 11:06:39 UTC 2025 riscv64 riscv64 riscv64 GNU/Linux 硬件信息: SG2042 、24.03 LTS SP1 QEMU镜像 **【问题复现步骤】** 安装 powerapi ``` yum install powerapi-devel gcc -y ``` 共有两个接口测试失败 1. PWR_CPU_GetFreq: ``` wget https://gitee.com/openeuler/mugen/raw/master/testcases/feature-test/powerapi_interface/common/demo_main.c -O demo_main.c echo "int main(int argc, const char *args[]) { TEST_PWR_SetLogCallback(); TEST_PWR_Register(); TEST_PWR_CPU_GetFreq_1(); TEST_PWR_UnRegister(); return 0; } " >> demo_main.c gcc ./demo_main.c -o demo_main -lpwrapi ./demo_main ``` 测试用例中期望值是 PWR_CPU_GetFreq :SUCCESS, x86 平台可以成功打印 PWR_CPU_GetFreq :SUCCESS, riscv 平台打印报错 PWR_CPU_GetFreq :ERROR ``` [root@vm13000-selinux powerapi_interface]# ./demo_main [TEST ] PWR_SetLogCallback :SUCCESS ret: 0 [INFO ] Connect to server succeed. fd: 3 [TEST ] PWR_Register :SUCCESS ret: 0 [ERROR] Rsp error. optType: 211, seqId: 123731968 [ERROR] Send req failed. optType: 211, ret: 3 [ERROR] GetCpuCurFreq failed. ret: 3 [TEST ] PWR_CPU_GetFreq :ERROR ret: 3 policy[0]: 0.000000 policy[0]: 0.000000 ``` 2. PWR_CPU_GetPerfData ``` wget https://gitee.com/openeuler/mugen/raw/master/testcases/feature-test/powerapi_interface/common/demo_main.c -O demo_main.c echo "int main(int argc, const char *args[]) { TEST_PWR_Register(); TEST_PWR_COM_DcTaskMgr(); TEST_PWR_UnRegister(); return 0; } " >> demo_main.c gcc ./demo_main.c -o demo_main -lpwrapi ./demo_main ``` ``` [INFO ] Connect to server succeed. fd: 3 [TEST ] PWR_Register :SUCCESS ret: 0 [TEST ] PWR_SetMetaDataCallback :SUCCESS ret: 0 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:2 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:3 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:4 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:-1 [TASK ] Get cpu usage. avgUsage: 0.016833, coreNum:64, ctime:2025-04-16 15:07:21.842 [TASK ] Get cpu usage. avgUsage: 0.017879, coreNum:64, ctime:2025-04-16 15:07:22.841 [TASK ] Get cpu usage. avgUsage: 0.017483, coreNum:64, ctime:2025-04-16 15:07:23.842 [TASK ] Get cpu usage. avgUsage: 0.016838, coreNum:64, ctime:2025-04-16 15:07:24.841 [TASK ] Get cpu usage. avgUsage: 0.016621, coreNum:64, ctime:2025-04-16 15:07:25.841 [TASK ] Get cpu usage. avgUsage: 0.016103, coreNum:64, ctime:2025-04-16 15:07:26.841 [TASK ] Get cpu usage. avgUsage: 0.017081, coreNum:64, ctime:2025-04-16 15:07:27.839 [TASK ] Get cpu usage. avgUsage: 0.016542, coreNum:64, ctime:2025-04-16 15:07:28.839 [TASK ] Get cpu usage. avgUsage: 0.017107, coreNum:64, ctime:2025-04-16 15:07:29.839 [TASK ] Get cpu usage. avgUsage: 0.016870, coreNum:64, ctime:2025-04-16 15:07:30.839 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:2 [ERROR] Rsp error. optType: 11, seqId: 1173356548 [ERROR] Send req failed. optType: 11, ret: 401 [ERROR] DeleteDcTask failed. ret: 401 [TEST ] PWR_DeleteDcTask :ERROR ret: 401 dataType:3 [TEST ] PWR_UnRegister :SUCCESS ret: 0 ``` 测试用例中期望有 Get perf data 打印,在 x86 上成功打印,但是在 riscv 平台上尝试过在 qemu 启动参数添加 sscofpmf=true 和在 sg2042 实体机下测试,都没有打印 perf data。 x86 的打印如下 ``` [INFO ] Connect to server succeed. fd: 3 [TEST ] PWR_Register :SUCCESS ret: 0 [TEST ] PWR_SetMetaDataCallback :SUCCESS ret: 0 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 10 [DEBUG] CreateDcTask succeed. [TEST ] PWR_CreateDcTask :SUCCESS ret: 0 dataType:2 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:3 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:4 [TEST ] PWR_CreateDcTask :ERROR ret: 6 dataType:-1 [TASK ] Get perf data. ipc: 0.246963 miss: 0.000000, ctime:2025-04-16 15:56:40.426 [TASK ] Get cpu usage. avgUsage: 0.012531, coreNum:16, ctime:2025-04-16 15:56:40.431 [TASK ] Get perf data. ipc: 0.252177 miss: 0.000000, ctime:2025-04-16 15:56:41.427 [TASK ] Get cpu usage. avgUsage: 0.010050, coreNum:16, ctime:2025-04-16 15:56:41.431 [TASK ] Get perf data. ipc: 0.237329 miss: 0.000000, ctime:2025-04-16 15:56:42.427 [TASK ] Get cpu usage. avgUsage: 0.005025, coreNum:16, ctime:2025-04-16 15:56:42.432 [TASK ] Get perf data. ipc: 0.244158 miss: 0.000000, ctime:2025-04-16 15:56:43.428 [TASK ] Get cpu usage. avgUsage: 0.007519, coreNum:16, ctime:2025-04-16 15:56:43.432 [TASK ] Get perf data. ipc: 0.245372 miss: 0.000000, ctime:2025-04-16 15:56:44.429 [TASK ] Get cpu usage. avgUsage: 0.012469, coreNum:16, ctime:2025-04-16 15:56:44.433 [TASK ] Get perf data. ipc: 0.254336 miss: 0.000000, ctime:2025-04-16 15:56:45.429 [TASK ] Get cpu usage. avgUsage: 0.007519, coreNum:16, ctime:2025-04-16 15:56:45.434 [TASK ] Get perf data. ipc: 0.221112 miss: 0.000000, ctime:2025-04-16 15:56:46.430 [TASK ] Get cpu usage. avgUsage: 0.012531, coreNum:16, ctime:2025-04-16 15:56:46.435 [TASK ] Get perf data. ipc: 0.256797 miss: 0.000000, ctime:2025-04-16 15:56:47.430 [TASK ] Get cpu usage. avgUsage: 0.005025, coreNum:16, ctime:2025-04-16 15:56:47.436 [TASK ] Get perf data. ipc: 0.235925 miss: 0.000000, ctime:2025-04-16 15:56:48.430 [TASK ] Get cpu usage. avgUsage: 0.010000, coreNum:16, ctime:2025-04-16 15:56:48.436 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:1 [DEBUG] Request succeed. optType: 11 [DEBUG] DeleteDcTask succeed. [TEST ] PWR_DeleteDcTask :SUCCESS ret: 0 dataType:2 [ERROR] Rsp error. optType: 11, seqId: 561643524 [ERROR] Send req failed. optType: 11, ret: 401 [ERROR] DeleteDcTask failed. ret: 401 [TEST ] PWR_DeleteDcTask :ERROR ret: 401 dataType:3 [TEST ] PWR_UnRegister :SUCCESS ret: 0 ``` **二、缺陷分析结构反馈** 影响性分析说明: 缺陷严重等级:(Critical/High/Moderate/Low) 缺陷根因说明: 受影响版本排查(受影响/不受影响): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1 修复是否涉及abi变化(是/否): openEuler-20.03-LTS-SP4 openEuler-22.03-LTS-SP3 openEuler-22.03-LTS-SP4 openEuler-24.03-LTS openEuler-24.03-LTS-SP1
评论 (
2
)
登录
后才可以发表评论
状态
待办的
待办的
已挂起
修复中
已确认
已完成
已验收
已取消
负责人
未设置
queyanwen
queyanwen
负责人
协作者
+负责人
+协作者
标签
sig/sig-power-effici
DEFECT/UNFIXED
未设置
项目
未立项任务
未立项任务
里程碑
未关联里程碑
未关联里程碑
Pull Requests
未关联
未关联
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
未关联
分支 (10)
标签 (7)
master
openEuler-24.03-LTS-SP2
openEuler-22.03-LTS-SP4
openEuler-24.03-LTS-SP1
openEuler-24.03-LTS-Next
openEuler-24.03-LTS-SP3
openEuler-24.09
openEuler-22.03-LTS-Next
openEuler-24.03-LTS
openEuler-22.03-LTS-SP3
openEuler-24.03-LTS-SP2-release
openEuler-22.03-LTS-SP4-update-20250221
openEuler-24.03-LTS-SP1-release
openEuler-22.03-LTS-SP4-update-before-20241025
openEuler-22.03-LTS-SP4-release
openEuler-24.03-LTS-release
openEuler-22.03-LTS-SP3-release
开始日期   -   截止日期
-
置顶选项
不置顶
置顶等级:高
置顶等级:中
置顶等级:低
优先级
不指定
严重
主要
次要
不重要
预计工期
(小时)
参与者(1)
1
https://gitee.com/src-openeuler/powerapi.git
git@gitee.com:src-openeuler/powerapi.git
src-openeuler
powerapi
powerapi
点此查找更多帮助
搜索帮助
Git 命令在线学习
如何在 Gitee 导入 GitHub 仓库
Git 仓库基础操作
企业版和社区版功能对比
SSH 公钥设置
如何处理代码冲突
仓库体积过大,如何减小?
如何找回被删除的仓库数据
Gitee 产品配额说明
GitHub仓库快速导入Gitee及同步更新
什么是 Release(发行版)
将 PHP 项目自动发布到 packagist.org
仓库举报
回到顶部
登录提示
该操作需登录 Gitee 帐号,请先登录后再操作。
立即登录
没有帐号,去注册