Proposal to change sensor interface to use double values

James Feist james.feist at linux.intel.com
Tue Aug 7 05:10:55 AEST 2018


I've submitted a change to modify the sensor interface to remove scale, 
and make the sensor value a double. The main reason for doing this is 
simplification of the interface. In most usages, daemons pull the value, 
and the scale, then immediately translate this value to a double. This 
could easily be done once by the sensor producer instead of all daemons. 
The counter example that was given was phosphor-fan-presence, but doing 
a quick grep I can't find scale being used, so this might mean for a 
scaled fan you have to factor that in to all configuration files, or 
scaled fans aren't supported. The threshold interface is not usable 
independent from the value interface, as the thresholds are affected by 
the same scale. Using a fixed scale also won't work well for a 
logarithmic sensor, while floating point would. Realistic precision 
should not be affected for any common sensor. We also in the future may 
be interested in a daemon producing a threshold for a sensor that 
another daemon owns. With the scale existing elsewhere, this would not 
be trivial to map.

Review for context: https://gerrit.openbmc-project.xyz/#/c/11739/

This change is not ready to be submitted as is, but we would like to 
hear if there are any major objections. If not, we would like to start 
an upgrade path to support both interfaces until it is possible to make 
the switch. Bmcweb already supports both. In most cases this is just 
pulling the value using a visitor, and setting the scale to 0 if it does 
not exist. Max and Min can also be used for IPMI scaling.

Thanks,

- James Feist




More information about the openbmc mailing list