[cpusensor] pingTimer and creationTimer are conflict??
Jae Hyun Yoo
jae.hyun.yoo at linux.intel.com
Wed Apr 3 03:17:15 AEDT 2019
On 4/1/2019 11:14 PM, John Wang wrote:
> Hi Jae,
>
> When two cpus are configured in the entity-manager and there is only one
> cpu on the motherboard, the cpusensor service cannot expose cpu sensor
> information to dbus.
> Before [this
> change](https://gerrit.openbmc-project.xyz/c/openbmc/dbus-sensors/+/18963),
> cpu sensor information can be exposed to dbus.
>
> By checking the code,I found that pingTimer causes detectCpu to be
> executed every 1s, and the detectCpu function calls
> creationTimer.expires_from_now(3s/5s), which causes the callback of
> creationTimer to only enter the cancel
> state(boost::asio::error::operation_aborted).
>
> Only when all the cpu configured in the entity-mangaer are detected will
> stop pinging.
>
> Is this a bug ?
Hi John,
Ah, yeah, there is. That's a bug. In that case, detectCpu() will be
repeatedly called every second and resets the 3s creationTimer so
createSensors() will never be called.
Thanks for reporting the issue. I'll submit a patch soon.
Regards,
Jae
> Regards
>
> John
>
More information about the openbmc
mailing list