diff --git "a/Test_Result/openEuler_22.09/openEuler 22.09 CPU\346\240\270\345\234\250\347\272\277\351\232\224\347\246\273\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" "b/Test_Result/openEuler_22.09/openEuler 22.09 CPU\346\240\270\345\234\250\347\272\277\351\232\224\347\246\273\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" new file mode 100644 index 0000000000000000000000000000000000000000..efcda9834537d442b2e87a3aa68c7b308ced3d15 --- /dev/null +++ "b/Test_Result/openEuler_22.09/openEuler 22.09 CPU\346\240\270\345\234\250\347\272\277\351\232\224\347\246\273\347\211\271\346\200\247\346\265\213\350\257\225\346\212\245\345\221\212.md" @@ -0,0 +1,126 @@ +![openEuler ico](../../images/openEuler.png) + +版权所有 © 2022 openEuler社区 + 您对“本文档”的复制、使用、修改及分发受知识共享(Creative Commons)署名—相同方式共享4.0国际公共许可协议(以下简称“CC BY-SA 4.0”)的约束。为了方便用户理解,您可以通过访问https://creativecommons.org/licenses/by-sa/4.0/ 了解CC BY-SA 4.0的概要 (但不是替代)。CC BY-SA 4.0的完整协议内容您可以访问如下网址获取:https://creativecommons.org/licenses/by-sa/4.0/legalcode。 + +修订记录 + +| 日期 | 修订 版本 | 修改描述 | 作者 | +| ---- | ----------- | -------- | ---- | +| 2022-09-15 | 1.0 | 创建 | @wangdi | + +关键词: +CPU核 在线隔离 故障 内存页 UCE CE + + +摘要: + +本报告主要描述基于openEuler 22.09版本进行的CPU核故障在线隔离/UCE故障降级/内存页隔离特性的测试过程,报告对测试情况进行说明,对特性的测试充分度进行评估和总结。 + + +缩略语清单: + +| 缩略语 | 英文全名 | 中文解释 | +| ------ | -------- | -------- | +| CPU核 | Central Processing Unit | 中央处理器核 | +| UCE | uncorrected error | 不可纠正的错误 | +| CE | corrected error | 可纠正的错误 | +| BIOS | Basic Input Output System | 基本输入输出系统 | + +*** + +# 1 特性概述 + +### 1. CPU核故障在线隔离 + +在打开CPU核故障在线隔离服务后,当CPU核遇到内存UCE错误时,会将该CPU核下线;当CPU核在指定故障隔离周期内,遇到的内存CE错误达到指定的CE故障阈值,会将该CPU核下线;下线的CPU核数量可以在配置文件中指定,不超过当前系统总核数减一。 + +### 2. UCE故障降级 + +当遇到内存UCE错误且可以恢复时,OS通过SIGBUS信号携带有问题的内存地址(内核会先转换为进程相关的虚拟地址)发送给受影响的进程。对应进程注册SIGBUS的handler并对其中携带的地址进行细粒度容错处理。特殊情况下(如地址为-EFAULT)内核会发送SIGKILL到受影响进程。 + +### 3. 内存页隔离 + +该特性目的是支持BMC通过代理实现故障内存隔离,提升硬件可靠性。内核通过/sys/devices/system/memory/soft_offline_page接口支持内存页面的page offline行为。隔离时通过将要隔离内存页面所对应的物理地址(按内存页面对齐,16进制格式)写入该节点。返回值为隔离成功的页面数量或者错误码。隔离行为能够成功取决于当前页面的状态,如果当前页面已经被poison则隔离会失败。 + + +# 2 特性测试信息 + +本节描述被测对象的版本信息和测试的时间及测试轮次,以及硬件环境信息。 + +| 版本名称 | 测试起始时间 | 测试结束时间 | +| -------- | ------------ | ------------ | +| openEuler 22.09 Test round 4 | 2022-09-08 | 2022-09-14 | + +描述特性测试的硬件环境信息 + +| 硬件型号 | 硬件配置信息 | 备注 | +| -------- | ------------ | ---- | +| TaiShan 200 Pro (Model 2280) | | arm服务器,用于测试CPU核故障在线隔离 | +| TaiShan 200K (Model 2280K) | | arm服务器,用于测试UCE故障降级/内存页隔离 | +| 2288H V5 | | x86服务器,用于测试UCE故障降级/内存页隔离 | + +# 3 测试结论概述 + +## 3.1 测试整体结论 + +### 1. CPU核故障在线隔离 + +共计执行26个测试用例,主要覆盖了功能测试、性能测试和可靠性测试,测试过程中没有发现问题,无遗留问题风险,整体质量良好。 + +### 2. UCE故障降级 + +共计执行2个测试用例,主要覆盖了功能测试,测试过程中没有发现问题,无遗留问题风险,整体质量良好。 + +### 3. 内存页隔离 + +共计执行8个测试用例,主要覆盖了功能测试和可靠性测试,测试过程中没有发现问题,无遗留问题风险,整体质量良好。 + + +## 3.2 约束说明 + +### 1. CPU核故障在线隔离: + + (1)只支持TaiShan 200 Pro机型; + (2)BIOS需要升级到对应的版本; + (3)需要修改rasdaemon源码包,修改SPEC文件并重新编译; + (4)CPU核下线的最大数为当前系统核数减一; + (5)CE阈值上限为10000,监控周期上限为72h。 + +### 2. UCE故障降级: + 无 + +### 3. 内存页隔离: + 无 + +## 3.3 遗留问题分析 + +### 3.3.1 遗留问题影响以及规避措施 + + 无 + +### 3.3.2 问题统计 + + 无 + + +# 4 测试执行 + +## 4.1 测试执行统计数据 + +| 版本名称 | 特性名字 | 测试用例数 | 用例执行结果 | 发现问题单数 | +| -------- | ---------- | ------------ | ------------ | ------------ | +| openEuler 22.09 Test round 4 | CPU核故障在线隔离 | 26 | All Pass | 0 | +| openEuler 22.09 Test round 4 | UCE故障降级 | 2 | All Pass | 0 | +| openEuler 22.09 Test round 4 | 内存页隔离 | 8 | All Pass | 0 | + + +## 4.2 后续测试建议 + + (1)CPU核故障在线隔离特性依赖BIOS,测试时BIOS需要升级到对应版本,且该特性仅支持Pro机型,测试时需要在对应的物理机机型上进行测试; + (2)系统默认不提供/sys/devices/system/cpu/cpu0/online文件,需要修改grub.cfg文件,添加内核启动参数项arm64_cpu0_hotplug=1来启动开关; + (3)尽量不要下线cpu0,下线可能会造成其他影响,比如无法正常关机等。 + +# 5 附件 + + 无