IpmbSensor : Add PollRate property.

In existing IpmbSensor code, pollrate value is fixed as 1 sec.

We have OCP YosemiteV2 target which has 4 removable host, each host
has 70(x4) sensors. More number of sensor will leads to CPU usage.

Also IPMB Version does not require to read the version for every second.

Therefore, pollRate property can be added in the EM file and based on
those values each sensor/version can be read and updated. Hence CPU
utilization also reduces.

CPU load - pollRate is 1 sec.
PID  PPID  USER  STAT  VSZ   %VSZ  %CPU     COMMAND
323   1    root   R    8200   2%    16%  /usr/bin/ipmbsensor

CPU load - pollRate is 5 sec.
PID  PPID  USER  STAT  VSZ   %VSZ  %CPU     COMMAND
294   1    root   S    8124   2%    6%   /usr/bin/ipmbsensor

TESTED: Tested in yosemitev2 by giving different PollRate
to each sensor and verified.

Signed-off-by: Jayashree Dhanapal <jayashree-d@hcl.com>
Change-Id: I1f80d426699b11a1ac8c33137d12319df429620e
2 files changed
tree: 3fea3c2e02d1c285d7cf911bdbe96dc45493b4bd
  1. include/
  2. service_files/
  3. src/
  4. subprojects/
  5. tests/
  6. .clang-format
  7. .clang-ignore
  8. .clang-tidy
  9. .gitignore
  10. Jenkinsfile
  11. LICENSE
  12. MAINTAINERS
  13. meson.build
  14. meson_options.txt
  15. 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

sensor documentation