【标题描述】
设置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信息、图片等
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
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
【验收环境】
软件信息
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
【验收结果】
问题已修复,验收通过
登录 后才可以发表评论