历史解决方案带入后依然有新的问题
我看之前的PR里是没有修改init.lua以及相关逻辑的
2026-02-04 08:08:51.070535 pcie_device ERROR: init.lua(98): get pci register info failed, error: 201 [repeated 200 times in 314s from 2026-02-04 08:03:37.862042 to 2026-02-04 08:08:51.070535]
2026-02-04 08:14:04.849525 pcie_device ERROR: init.lua(98): get pci register info failed, error: 201 [repeated 200 times in 313s from 2026-02-04 08:08:51.070535 to 2026-02-04 08:14:04.849525]
2026-02-04 08:19:18.206442 pcie_device ERROR: init.lua(98): get pci register info failed, error: 201 [repeated 200 times in 314s from 2026-02-04 08:14:04.849525 to 2026-02-04 08:19:18.206442]
2026-02-04 08:24:31.593326 pcie_device ERROR: init.lua(98): get pci register info failed, error: 201 [repeated 200 times in 313s from 2026-02-04 08:19:18.206442 to 2026-02-04 08:24:31.593326]
2026-02-04 08:29:45.312448 pcie_device ERROR: init.lua(98): get pci register info failed, error: 201 [repeated 200 times in 314s from 2026-02-04 08:24:31.593326 to 2026-02-04 08:29:45.312448]
2026-02-04 08:34:53.807823 pcie_device ERROR: init.lua(98): get pci register info failed, error: 201 [repeated 200 times in 253s from 2026-02-04 08:29:45.312448 to 2026-02-04 08:33:58.804907][flush]
这个函数的上级函数只有在BMC开始时进入一次,以PCIeDevice为单位各运行一次,所以当时没有做日志判断。但是内部有20次的重试次数,之后会再提issue改掉。
感觉这里可能也有影响,pcie_device.lua → query_from_pmu_task → query_class_code_from_pmu → get_pcie_class_code_info -->get_info_from_pmu
最外层也是一个fork_loop的调用,应该是会不断发的吧?
我觉得可能要把外面这个逻辑要调整一下,具体的细节不太了解。
这个是从imu获取classcode
classcode是干啥的?有必要一直循环获取吗。这里应该是While循环一直在跑。
ClassCode是PCI配置空间中显示卡类型的,仓库上的query_class_code_from_pmu中应该有判断OS下电不查询的代码,您这边是有什么设备获取不到吗?