Closed spinler closed 1 year ago
The adcsensor daemon in dbus-sensors attempts to determine if an inventory path is a CPU by just checking for 'cpu' anwhere in the name here: https://github.com/openbmc/dbus-sensors/blob/master/src/ADCSensorMain.cpp#L348.
On IBM systems, that results in a bunch of extra calls because we have things in the inventory which have cpu in the name but aren't even cpus:
│ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit0 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit1 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit10 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit11 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit12 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit13 │ │ │ ├─/xyz/openbmc_project/inventory/system/chassis/motherboard/dcm3/cpu0/unit14
I think a proper solution would either a) check if the xyz.openbmc_project.Inventory.Item.Cpu interface exists on the path, or b) at least check for 'cpu' in the last segment. Whichever the maintainers like more.
hey @spinler Please review: https://gerrit.openbmc.org/c/openbmc/dbus-sensors/+/58966
@spinler This patch has been merged.
The adcsensor daemon in dbus-sensors attempts to determine if an inventory path is a CPU by just checking for 'cpu' anwhere in the name here: https://github.com/openbmc/dbus-sensors/blob/master/src/ADCSensorMain.cpp#L348.
On IBM systems, that results in a bunch of extra calls because we have things in the inventory which have cpu in the name but aren't even cpus:
I think a proper solution would either a) check if the xyz.openbmc_project.Inventory.Item.Cpu interface exists on the path, or b) at least check for 'cpu' in the last segment. Whichever the maintainers like more.