多算力PECI驱动调试

问题:os处于正常运行状态,切到UBMC版本为什么会导致os异常?

  1. 切回OBMC版本,查看os日志

问题复现步骤

1、默认是宝德OpenBMC版本

  • KVM正常、上下电正常、CPU温度获取(PECI)正常

2、切到UBMC版本

  • 读写cpu温度出现 IO error(通过PECI sysfs接口读)
    • 当前怀疑IO error只是表象,PECI sysfs接口读写之前CPU已经挂死
  • 注意:服务器第一次从OpenBMC版本切换到UBMC版本的时候不会出现IO error,以后怎么切版本都会报错
  • 调试信息
devmem 0x1e78051c
0x00014747

devmem 0x1e780500
0x7E47477E
  • peci error
/sys/class/hwmon/hwmon0 # cat temp2_label
DTS
/sys/class/hwmon/hwmon0 # cat temp2_input
cat: read error: Input/output error
/sys/class/hwmon/hwmon0 # cat temp3_input
cat: read error: Input/output error
/sys/class/hwmon/hwmon0 # cat temp4_input
[ 1193.712211] ------------[ cut here ]------------
[ 1193.717448] WARNING: CPU: 1 PID: 4953 at drivers/peci/request.c:127 peci_request_status+0xc0/0xcc
[ 1193.727569] Unknown PECI completion code: 0x83
[ 1193.732696] Modules linked in: iptable_nat iptable_filter ip6table_filter xt_MASQUERADE xt_limit timeriomem_rng rng_core xt_tcpudp xt_nat ip6table_nat ip6_tables nf_nat nf_conntrack libcrc32c nf_ds
[ 1193.756772] CPU: 1 PID: 4953 Comm: cat Tainted: G        W          6.6.0-openeuler-g6de5afc857be #1
[ 1193.767015] Hardware name: Generic DT based system
[ 1193.772410]  unwind_backtrace from show_stack+0x10/0x14
[ 1193.778320]  show_stack from dump_stack_lvl+0x40/0x4c
[ 1193.784035]  dump_stack_lvl from __warn+0x84/0xc8
[ 1193.789360]  __warn from warn_slowpath_fmt+0x1c4/0x1cc
[ 1193.795176]  warn_slowpath_fmt from peci_request_status+0xc0/0xcc
[ 1193.802055]  peci_request_status from peci_request_xfer_retry+0x3c/0x16c
[ 1193.809614]  peci_request_xfer_retry from peci_xfer_pkg_cfg_readl+0x38/0x5c
[ 1193.817454]  peci_xfer_pkg_cfg_readl from peci_pcs_read+0xc/0x48
[ 1193.824238]  peci_pcs_read from get_temp_target+0xc8/0x13c
[ 1193.830427]  get_temp_target from hwmon_attr_show+0x3c/0x7c
[ 1193.836722]  hwmon_attr_show from dev_attr_show+0x18/0x48
[ 1193.842821]  dev_attr_show from sysfs_kf_seq_show+0x80/0x108
[ 1193.849210]  sysfs_kf_seq_show from seq_read_iter+0x178/0x550
[ 1193.855694]  seq_read_iter from vfs_read+0x1dc/0x2d0
[ 1193.861304]  vfs_read from ksys_read+0x70/0xf0
[ 1193.866334]  ksys_read from ret_fast_syscall+0x0/0x54
[ 1193.872035] Exception stack(0xe4e75fa8 to 0xe4e75ff0)
[ 1193.877722] 5fa0:                   00001000 7e902c2c 00000003 7e902c2c 00001000 00000001
[ 1193.886896] 5fc0: 00001000 7e902c2c 00000003 00000003 0055b5d8 00000000 00000000 00000001
[ 1193.896071] 5fe0: 0055abbc 7e902bf0 00497320 76dd23ac
[ 1193.901994] ---[ end trace 0000000000000000 ]---
cat: read error: Input/output error

3、从UBMC版本切到宝德OpenBMC版本,会出现如下报错

  • KVM界面带内卡死
  • web界面上下电操作失效,必须AC才能恢复
[  103.972272] intel_peci_client: probe of 0-30 failed with error -11
[  104.008029] intel_peci_client: probe of 0-31 failed with error -11

Phosphor OpenBMC (Phosphor OpenBMC Project Reference Distro) PR2715B-BD-00-FR-BMC-1.0.5 intel-obmc ttyS4

intel-obmc login: [  112.597660] jffs2: warning: (2439) jffs2_get_inode_nodes: Eep. No valid nodes for ino #15927.
[  112.607354] jffs2: warning: (2439) jffs2_do_read_inode_internal: no data nodes found for ino #15927
[  112.617619] jffs2: iget() failed for ino #15927
[  112.818698] jffs2: error: (2439) jffs2_do_read_inode: requested to read a nonexistent ino 15927
[  112.828589] jffs2: iget() failed for ino #15927
[  118.021686] bmc-services-ready.sh[320]: Required services for the BMC readiness are in active state.
[  119.338009] intel_peci_client: probe of 0-30 failed with error -11
[  119.366360] intel_peci_client: probe of 0-31 failed with error -11
[  134.446451] intel_peci_client: probe of 0-30 failed with error -11
[  134.490009] intel_peci_client: probe of 0-31 failed with error -11
[  149.617980] intel_peci_client: probe of 0-30 failed with error -11
[  149.688048] intel_peci_client: probe of 0-31 failed with error -11
[  152.729175] loop0: detected capacity change from 0 to 96192
[  164.706432] intel_peci_client: probe of 0-30 failed with error -11
[  164.721008] intel_peci_client: probe of 0-31 failed with error -11
[  179.743844] intel_peci_client: probe of 0-30 failed with error -11
[  179.772175] intel_peci_client: probe of 0-31 failed with error -11
[  194.790323] intel_peci_client: probe of 0-30 failed with error -11
[  194.809471] intel_peci_client: probe of 0-31 failed with error -11
started applyonreset service
zram0 swap already enabled.
[  203.167451] jffs2: error: (9242) jffs2_do_read_inode: requested to read a nonexistent ino 15927
[  203.177379] jffs2: iget() failed for ino #15927
[  203.223014] jffs2: error: (9242) jffs2_do_read_inode: requested to read a nonexistent ino 15927
[  203.232893] jffs2: iget() failed for ino #15927
[  209.853244] intel_peci_client: probe of 0-30 failed with error -11
[  209.889855] intel_peci_client: probe of 0-31 failed with error -11
[  224.904961] intel_peci_client: probe of 0-30 failed with error -11
[  224.931096] intel_peci_client: probe of 0-31 failed with error -11
[  239.945322] intel_peci_client: probe of 0-30 failed with error -11
[  239.970178] intel_peci_client: probe of 0-31 failed with error -11
[  254.991316] intel_peci_client: probe of 0-30 failed with error -11
[  255.013999] intel_peci_client: probe of 0-31 failed with error -11
[  270.051781] intel_peci_client: probe of 0-30 failed with error -11
[  270.071023] intel_peci_client: probe of 0-31 failed with error -11