Sensor Value PropertiesChanged Events
Bills, Jason M
jason.m.bills at linux.intel.com
Tue Feb 2 11:42:33 AEDT 2021
Hi All,
There is an issue and idea that James Feist and I chatted about to maybe
relieve some of our D-Bus traffic.
A major contributor to our D-Bus traffic (as seen in dbus-monitor) is
the polling sensors updating the xyz.openbmc_project.Sensor.Value.Value
property on each polling loop, which generates a PropertiesChanged
signal for every sensor on every polling loop (once per second?).
The concern is that more important D-Bus messages could be getting
delayed as D-Bus processes these Sensor Value signals.
The idea to fix this is to change the sensors with a custom getter on
the Value property, so the last read can be pulled from D-Bus using a
get-property call, but it would no longer signal a PropertiesChanged event.
I pushed a proposed change here:
https://gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/40199.
Our original assumption was that nobody was matching on this
PropertiesChanged signal for the Value property; however, it was pointed
out to me today, that PID control has a match for it and may be using it.
So, I wanted to start a broader community discussion about this issue:
1. Is this a real concern or are PropertiesChanged signals so
lightweight that removing them won't help with D-Bus load?
2. Does anyone need to match on sensor Value property updates or is
reading them with get-property enough?
3. Does PID control use the Value match? If so and there are benefits
to removing these signals, could PID control manage without them?
As a side note, I still have two remaining services that publish
PropertiesChanged events on sensor Value properties:
PWM Sensors. I have a proposed (and untested) change here:
gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/40200.
A Power sensor, that I will track down based on this discussion.
Thanks!
-Jason
More information about the openbmc
mailing list