【环境信息】
系统:x86物理机 内存:380G
cpu:88核
arm物理机 内存510G
cpu:96核
OS版本: 版本sp1 update_20210421
【问题复现步骤】
安装最小化镜像
升级kernel以及update_20210421中最新的安装包
执行用例./runltp -p -l result.log -s cve-2019-8912
./runltp -p -l result.log -s af_alg07
【预期结果】
用例执行成功
【实际结果】
执行失败
可能缺少的补丁
HINT: You MAY be missing kernel fixes, see:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=ff7b11aa481f
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=9060cb719e61
HINT: You MAY be vulnerable to CVE(s), see:
https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-8912
Hey Classicriver_jia, Welcome to openEuler Community.
All of the projects in openEuler Community are maintained by @openeuler-ci-bot.
That means the developers can comment below every pull request or issue to trigger Bot Commands.
Please follow instructions at https://gitee.com/openeuler/community/blob/master/en/sig-infrastructure/command.md to find the details.
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
登陆测试机器
复测时候发现,测试用例的进程都在一个 CPU 上运行。
怀疑绑核了或者没有进行负载均衡。
进一步确认发现:
- 测试用例没有进行绑核
- 测试机器的调度域已经完全是 NULL 的状态。因此无法触发负载均衡。
该测试用例执行后,sched_domain 将被清 NULL 并无法重建,
./runltp -p -l result.log -s cpuset_sched_domains_test
进一步分析发现,cpuset_sched_domains_test 测试过程中,把 ROOT cpuset 的 sched_load_balance 代码给关掉了。
因此导致系统的 sched_domain 被置 NULL 了。
# 设置 cpuset cgroup 的分组的信息
# 第一个参数 CPUSET group 路径
# 第二个参数 - cpus 配置
# 第三个参数 mems_all mems 配置
# 第四个参数 load_balance 配置。
cpuset_set "$CPUSET" "-" "$mems_all" "0"
测试用例中 cpuset_sched_domains_test.sh
test_general_load_balance1 中如下用例会设置 root 的 sched.load_balance 为 0
general_load_balance_test2 中直接设置了 root 的 sched.load_balance 为 0
整个脚本运行结束后,sched.load_balance 没有设置为 1.
因此导致系统的调度域没有重建。
测试验证如下。
重启机器测试,测试用例均正常通过。
建议:
暂时 SKIP 该测试用例。
待社区修复此用例问题后,再行开启
用例问题,非内核问题
@6++ 你好,麻烦确认下。谢谢
登录 后才可以发表评论