commit | 6a4e9738ed41751fb1afb63128bf8c195f06956f | [log] [tgz] |
---|---|---|
author | Lei YU <yulei.sh@bytedance.com> | Wed Oct 20 13:27:34 2021 +0800 |
committer | Ed Tanous <ed@tanous.net> | Mon Dec 13 16:51:15 2021 +0000 |
tree | 51c6660eb41aa2f789c9b682f61de825c1cd2677 | |
parent | d3204145a07766ec57c34b6426de1b56050f3c1b [diff] |
utils: Refactor findFiles() The findFiles() iterates the directory recursively. For CPU sensor it was using depth 6 to iterate the PECI devices, and it results in iterating all the devices in /sys/bus/platform because it contains a symlink of `subsystem` to `/sys/bus/platform`. Refactor this function and make sure it skips iterating if a subdir does not match the regex. Tested: On g220a, the iterated files reduce from about 40000 to 400, and the function execution time reduces from 30s+ to about 0.5s. Signed-off-by: Lei YU <yulei.sh@bytedance.com> Change-Id: I7eada897a0f2c76c405a4efc0a081e00b48070e1
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.
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