[c++] [hwmon] std::ifstream read file with timeout so long

Nguyen Chanh nguyenchanh2201 at gmail.com
Wed Oct 7 02:42:18 AEDT 2020


In https://github.com/openbmc/phosphor-hwmon => hwmonio.cpp , I saw we use
the std::ifstream to open and read a device sensor.

But, I met an issue with it. In case the sensor was disabled (Ex: the Fan
was unplugged), the std::ifstream read will take a long time . The timeout
in there is so long. It makes my system have a BIG delay in each checking
sensor.

Other observation : In case the sensor device is ready, the time for sensor
reading is expected.

Measuring std::ifstream reading:

In case unplugged sensor: 91385 microseconds
In case plugged sensor. : 507 microseconds

The patch to measure the std::ifstream reading, please see attachment !

Unexpected behavior you saw

The timeout in there is so long

Expected behavior

Do we have any better solution in this case? take less more timeout.
[image: Screen Shot 2020-10-03 at 11.32.36 AM.png]
-- 
*Nguyen Minh Chanh *
*Embedded Software Engineer *
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20201006/3ffbf622/attachment-0001.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: Screen Shot 2020-10-03 at 11.32.36 AM.png
Type: image/png
Size: 113566 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20201006/3ffbf622/attachment-0001.png>


More information about the openbmc mailing list