Fix an issue in the partially installed CPU case

When there are multiple CPU configurations in entity manager and
actually just one CPU is installed, cpusensor service will keep
pinging the missing CPU with making reset on the creationTimer
callback so the Dbus tree creation never be called. To fix this
issue, this commit refines the timer handling code.

Tested: Installed just one CPU while entity manager has multiple
  CPU configs. The cpusensor service created Dbus sensors for the
  installed CPU properly.

Change-Id: I13f280bba8d9225e74c4d541314b54ce2ea803d8
Reported-by: John Wang <wangzqbj@inspur.com>
Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@linux.intel.com>
1 file changed
tree: 7cd9e7f35518e574df1a692890e31b1735274ee3
  1. cmake/
  2. include/
  3. service_files/
  4. src/
  5. tests/
  6. .clang-format
  7. .gitignore
  8. cmake-format.json
  9. CMakeLists.txt
  10. Jenkinsfile
  11. LICENSE
  12. MAINTAINERS
  13. README.md
README.md

dbus-sensors

dbus-sensors is a collection of sensor applications that provide the xyz.openbmc_project.Sensor collection of interfaces. They read sensor values from hwmon, d-bus, or direct driver access to provide readings. Some advance non-sensor features such as fan presence, pwm control, and automatic cpu detection (x86) are also supported.

key features

  • runtime re-configurable from d-bus (entity-manager or the like)

  • isolated: each sensor type is isolated into its own daemon, so a bug in one sensor is unlikely to affect another, and single sensor modifications are possible

  • async single-threaded: uses sdbusplus/asio bindings

  • multiple data inputs: hwmon, d-bus, direct driver access