【已评审】新增资源协作接口属支CPU核隔离阈值和Cacheway隔离使能控制

背景

(1)当前系统上电自检,若有core(核)自检失败,则实施core隔离并上报告警。对于core数量较多的机型,少量core因为自检失败隔离对整系统影响较少,允许用户设置小量core隔离不告警。

(2)CPU运行时对L3 Cache做风险评估并对风险高的单元做主动隔离,降低宕机可能性,预测和主动隔离需要有开关控制。

关联ISSUE

新增core隔离告警门限和计数统计属性及L3 Cache主动隔离功能开关属性

整体方案

资源协作属性新增core隔离告警门限、计数统计属性及L3 Cache主动隔离功能开关属性

Redfish FDMService资源增加core隔离告警门限属性及L3 Cache主动隔离功能开关属性,实现门限和开关的配置功能

评审点

1)变更资源协作接口 bmc.kepler.Systems.FDMDomain.CPURAS

新增资源协作接口属性:IsolatedCoreCount

2)变更资源协作接口 bmc.kepler.Systems.FDMService

新增资源协作接口属性:CoreIsolationAlarmThreshold,CacheWayFPCEnabled

3)FDMService资源新增属性

https://device_ip/redfish/v1/Managers/manager_id/FDMService资源

新增CPUFaultIsolationSubFunction CPU隔离管理对象及 CoreIsolationAlarmThreshold,CacheWayFPCEnabled 属性,支持GET和PATCH方法

详细描述

评审点1: 变更资源协作接口 bmc.kepler.Systems.FDMDomain.CPURAS

变更描述:新增IsolatedCoreCount用于表示被隔离的core数量
接口链接:bmc.kepler.Systems.FDMDomain.CPURAS

属性评审点

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 变更影响
新增 IsolatedCoreCount y true true 被隔离的core数量,默认值:0 R:ReadOnly 复位持久化

评审点2: 变更资源协作接口 bmc.kepler.Systems.FDMService

变更描述:新增CoreIsolationAlarmThreshold属性用于表示core隔离告警门限;新增CacheWayFPCEnabled属性用于表示L3 Cache故障预测及隔离功能开关
接口链接:bmc.kepler.Systems.FDMService

属性评审点

变更类型 属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 变更影响
新增 CoreIsolationAlarmThreshold y false true core隔离告警门限,已隔离core数量大于等于门限值时产生告警,默认值为1,即1个core隔离就告警 R:ReadOnly W:BasicSetting CSR 掉电持久化
新增 CacheWayFPCEnabled b false true L3 Cache故障预测及隔离功能使能状态,true表示使能,false表示禁用,默认值为false R:ReadOnly W:DiagnoseMgmt CSR 掉电持久化

评审点3:FDMService资源新增属性

资源URI:/redfish/v1/Managers/{managerid}/FDMService
资源版本 :FDMService.v1_1_0

属性列表
注1 :列表内属性默认均支持GET和PATCH方法。

一级属性 二级属性 类型 默认值 readonly 易变属性 实现PATCH 操作权限 描述
CPUFaultIsolationSubFunction / object / / / / / /
CPUFaultIsolationSubFunction CoreIsolationAlarmThreshold integer 1 false R:ReadOnly W:BasicSetting core隔离告警门限,已隔离core数量大于等于门限值时产生告警,取值1~15。默认值为1,即1个core隔离就告警
CPUFaultIsolationSubFunction CacheWayFPCEnabled boolean false false R:ReadOnly W:DiagnoseMgmt L3 Cache故障预测及隔离功能使能状态,默认值为false

GET响应示例

  {
  "@odata.context": "/redfish/v1/$metadata#Managers/1/FDMService/$entity",
  "@odata.id": "/redfish/v1/Managers/1/FDMService",
  "@odata.type": "#HwFDMService.v1_1_0.HwFDMService",
  "Id": "FDMService",
  "Name": "Fault Diagnostic Management Servcie",
  "MemPoorContactAlarmEnabled": true,
  "MemPatrolScrubAlarmEnabled": false,
  "DiagnoseFailurePolicy": "NoAction",
  "DiagnoseSuccessPolicy": "NoAction",
  "MemFaultIsolationEnabled": false, 
  "MemFaultIsolationSubFunctionSwitch": {
  "MemPageOfflineEnabled": false,
  "MemADDDCEnabled": false,
  "MemSoftPPREnabled": false,
  "MemHardPPREnabled": false,
  "MemACLSEnabled": false,
  "MemRowSparingEnabled": true
  },
  “CPUFaultIsolationSubFunction”: {
  	“CoreIsolationAlarmThreshold”: 1,
  	“CacheWayFPCEnabled”: false
  },
  

PATCH请求体示例

 { 
      "MemFaultIsolationEnabled": true,
      “CPUFaultIsolationSubFunction”: {
           “CoreIsolationAlarmThreshold”: 3,
           “CacheWayFPCEnabled”: true
     }
 }
 

操作日志
开启L3 Cache故障预测及隔离功能成功日志:Enabled CPU cache way FPC successfully
开启L3 Cache故障预测及隔离功能失败日志:Enabled CPU cache way FPC failed

关闭L3 Cache故障预测及隔离功能成功日志:Disabled CPU cache way FPC successfully
关闭L3 Cache故障预测及隔离功能失败日志:Disabled CPU cache way FPC failed

设置core隔离告警门限成功日志: Set the CPU core isolation alarm threshold to XXX successfully
设置core隔离告警门限失败日志: Set the CPU core isolation alarm threshold to XXX failed

评审结论

1.同意资源协作接口 bmc.kepler.Systems.FDMDomain.CPURAS新增属性IsolatedCoreCount
属性名:IsolatedCoreCount,表示被隔离的core数量,默认值:0
签名y,只读,发送变化通知,权限:R:ReadOnly,复位持久化

2.同意资源协作接口 bmc.kepler.Systems.FDMService新增属性CoreIsolationAlarmThreshold、CacheWayFPCEnabled
属性名:CoreIsolationAlarmThreshold,表示core隔离告警门限,默认值:1
签名y,可读写,发送变化通知,权限:R:ReadOnly W:BasicSetting,掉电持久化

属性名:CacheWayFPCEnabled,表示L3 Cache故障预测及隔离功能开关 默认值: false
签名b,可读写,发送变化通知,权限:R:ReadOnly W:DiagnoseMgmt,掉电持久化

3.同意redfish资源FDMService新增CPUFaultIsolationSubFunction对象,包含属性CoreIsolationAlarmThreshold、CacheWayFPCEnabled
资源URI:/redfish/v1/Managers/{managerid}/FDMService
资源版本:FDMService.v1_1_0
操作类型: GET/PATCH
变化类型:新增属性

属性定义参考评审点3描述

遗留问题

1.评审点1属性IsolatedCoreCount需要变化通知
结论:已闭环,修改IsolatedCoreCount属性为变更后发送通知

2.评审点1属性名称需要确保含义清晰和准确,补充属性之间的约束
结论:已闭环,属性名称已确认符合业界规范,属性约束已补充