3 Star 0 Fork 4

src-openEuler / powerapi

 / 详情

【openEuler-22.03-LTS-SP3-RC3】【arm/x86】设置gov为ondemand,调用PWR_CPU_SetFreqGovAttr接口对io_is_busy io_is_busyabc属性设置失败,然后调用PWR_CPU_GetFreqGovAttr获取属性值发现和原始值不一致

已验收
缺陷
创建于  
2023-12-21 10:49

【标题描述】
设置gov为ondemand,调用PWR_CPU_SetFreqGovAttr接口对io_is_busy io_is_busyabc属性设置失败,然后调用PWR_CPU_GetFreqGovAttr获取属性值发现和原始值不一致
【环境信息】
软件信息
OS版本及分支信息:
cat /etc/openEuler-latest
openeulerversion=openEuler-22.03-LTS-SP3
compiletime=2023-12-12-12-06-25
gccversion=10.3.1-42.oe2203sp3
kernelversion=5.10.0-176.0.0.89.oe2203sp3
openjdkversion=1.8.0.392.b08-2.oe2203sp3
发现问题的组件版本信息:powerapi-devel-1.0.0-2
【问题复现步骤】
dnf install -y powerapi-devel
具体调用关系如下:

static void TEST_PWR_CPU_GovAttrs(void)
{
    int ret = 0;
    char gov[] = "ondemand";
    //char gov[] = "userspace";
//char sr[] = "sampling_rate";
    char sr[] = "io_is_busy";
    char srValue[] = "2300";
    PWR_CPU_SetFreqGovernor(gov);
    PWR_CPU_FreqGovAttrs attrs = {0};
    ret = PWR_CPU_GetFreqGovAttrs(&attrs);
    PrintResult("1 PWR_CPU_GetFreqGovAttrs", ret);
    for (int i = 0; i < attrs.attrNum; i++) {
        printf("attr%d: %s: %s\n", i, attrs.attrs[i].key, attrs.attrs[i].value);
    }

    PWR_CPU_FreqGovAttr attr = {0};
    //strncpy(attr.gov, gov, strlen(gov));
    strncpy(attr.attr.key, sr, strlen(sr));
    char sr1[] = "io_is_busyabc";
    strncpy(attr.attr.key, sr1, strlen(sr1));
    ret = PWR_CPU_GetFreqGovAttr(&attr);
    PrintResult("2 PWR_CPU_GetFreqGovAttr", ret);
    printf("attr key: %s\n", attr.attr.key);
    printf("attr: %s: %s: %s\n", gov, sr, attr.attr.value);

    //strncpy(attr.gov, gov, strlen(gov));
    strncpy(attr.attr.value, srValue, PWR_MAX_VALUE_LEN);
    strncpy(attr.attr.value, srValue, PWR_MAX_VALUE_LEN);
    ret = PWR_CPU_SetFreqGovAttr(&attr);
    PrintResult("3 PWR_CPU_SetFreqGovAttr", ret);
    //bzero(&attr.attr, sizeof(attr.attr));
    strncpy(attr.attr.key, sr, PWR_MAX_VALUE_LEN);
    printf("attr key: %s\n", attr.attr.key);
    printf("attr value: %s\n", attr.attr.value);
    ret = PWR_CPU_GetFreqGovAttr(&attr);
    PrintResult("4 PWR_CPU_GetFreqGovAttr", ret);
    printf("attr: %s: %s: %s\n", gov, sr, attr.attr.value);
    ret = PWR_CPU_GetFreqGovAttrs(&attrs);
    PrintResult("1 PWR_CPU_GetFreqGovAttrs", ret);
    for (int i = 0; i < attrs.attrNum; i++) {
        printf("attr%d: %s: %s\n", i, attrs.attrs[i].key, attrs.attrs[i].value);
    }
}

【预期结果】
设置失败,获取成功,属性io_is_busy值为原始值
【实际结果】
设置失败,获取成功,属性io_is_busy值非原始值,如下图所示:
输入图片说明
【其他相关附件信息】
比如系统message日志/组件日志、dump信息、图片等

评论 (2)

wenjun 创建了缺陷

Hi wenjunryou, welcome to the openEuler Community.
I'm the Bot here serving you. You can find the instructions on how to interact with me at Here.
If you have any questions, please contact the SIG: sig-power-efficient, and any of the maintainers: @queyanwen , @wuhaotian , @Jimmy Jiang Junior

openeuler-ci-bot 添加了
 
sig/sig-power-effici
标签
wenjun 负责人设置为queyanwen
wenjun 计划截止日期设置为2023-12-22
wenjun 计划开始日期设置为2023-12-21
wenjun 优先级设置为主要
queyanwen 通过openeuler/powerapi Pull Request !77任务状态待办的 修改为已完成

【验收环境】
软件信息
OS版本及分支信息:
cat /etc/openEuler-latest
openeulerversion=openEuler-22.03-LTS-SP3
compiletime=2023-12-19-10-34-42
gccversion=10.3.1-45.oe2203sp3
kernelversion=5.10.0-179.0.0.93.oe2203sp3
openjdkversion=1.8.0.392.b08-3.oe2203sp3
发现问题的组件版本信息:powerapi-devel-1.0.0-7
【验收结果】
问题已修复,验收通过
输入图片说明

wenjun 任务状态已完成 修改为已验收

登录 后才可以发表评论

状态
负责人
项目
里程碑
Pull Requests
关联的 Pull Requests 被合并后可能会关闭此 issue
分支
开始日期   -   截止日期
-
置顶选项
优先级
预计工期 (小时)
参与者(2)
5329419 openeuler ci bot 1632792936
1
https://gitee.com/src-openeuler/powerapi.git
git@gitee.com:src-openeuler/powerapi.git
src-openeuler
powerapi
powerapi

搜索帮助

53164aa7 5694891 3bd8fe86 5694891