【已评审】新增ipmi设置/查询cpu的Uncore频率命令

背景

针对传统方案中Uncore区域高能耗显著及空闲态节能机制效能不足的局限,BMC侧新增两项IPMI指令,以实现CPU Uncore频率的实时监控与动态配置。依托标准IPMI接口,运维人员可实施精准干预,系统将在空闲状态下自动执行降频策略,从而实现功耗的精细化管控。

关联ISSUE

不涉及

评审点

1.支持IPMI查询CPU的Uncore频率
2.支持IPMI设置CPU的Uncore频率

评审点1:IPMI新增查询CPU的Uncore频率

命令名称: GetCpuUncoreFreq
命令说明: BMC运行正常,BIOS版本支持情景下,支持查询CPU的Uncore频率
命令权限: ReadOnly
是否锁定之后可以访问:
是否有敏感数据:
命令样式:

  • 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x72 <cpu_id>
  • 响应: < Integer> < Decimal> < Freq>

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 92h
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 SubCmd,子命令 = 72h
5 Cpu Id,0~N:单个cpu

命令响应参数:

字节顺序 域取值说明
1 Completion Code,所有的完成码则需要单独和详细说明,比如:
00h = Command Completed Normally
C1h = Invalid Command
C9h = Property Value Is Out of Range
CEh = Command Response Could not Be Provided
D5h = Invalid Status
2:4 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
5 Integer,调频步长的整数部分,如50.0MHz,则此处为0x32
6 Decimal,调频步长的小数部分,如50.0MHz,则此处为0x00
7:8 Freq,频率值(单位MHz),低字节优先,如1500对应0xdc 0x05

命令示例:
样例1: 对cpu1的uncore频率查询

  • 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x72 0x01
  • 响应:db 07 00 32 00 dc 05

评审点2:IPMI新增设置CPU的Uncore频率

命令名称: SetCoreUncoreFreq
命令说明: BMC运行正常,BIOS版本支持情景下,支持设置CPU的Uncore频率
命令权限: BasicSetting
是否锁定之后可以访问:
是否有敏感数据:
命令样式:

  • 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x73 <cpu_id>
  • 响应:db 07 00

命令请求参数:

字节顺序 域取值说明
NetFn 30h
Cmd 92h
1:3 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。
4 SubCmd,子命令 = 73h
5 Cpu Id,0~N:单个cpu 0xff – 表示所有有效的cpu
6:7 Freq,频率值(单位为MHz),低字节优先,如1500就是0xdc 0x05

命令响应参数:

字节顺序 域取值说明
1 Completion Code,所有的完成码则需要单独和详细说明,比如:
00h = Command Completed Normally
C1h = Invalid Command
C9h = Property Value Is Out of Range
CCh = Invalid Data Field in Request
CEh = Command Response Could not Be Provided
D5h = Invalid Status
2:4 Manufacturer ID,LB Byte first。长度固定 3 个字节,例如,某厂家ID时 2011,对应十六进制为0x0007DB,则字节序为第1个字节为 DBh,第二个字节为 07h,第三个字节为 00h。

命令示例:
样例1: 对cpu1的uncore频率设置

  • 请求:ipmitool raw 0x30 0x92 0xdb 0x07 0x00 0x73 0x01 0xdc 0x05
  • 响应:db 07 00

是否准备好AI预审

评审结论

已线下审视:

  1. 同意新增IPMI命令GetCpuUncoreFreq,功能为查询CPU的Uncore频率,命令权限为ReadOnly
  2. 同意新增IPMI命令SetCpuUncoreFreq,功能为设置CPU的Uncore频率,命令权限为BasicSetting
    命令详细信息见评审点1、评审点2。

已审视