openbmc / phosphor-pid-control

OpenBMC PID-based Thermal Control Daemon
Apache License 2.0
18 stars 21 forks source link

Create a feature to allow fans to run at failsafe PWM when in failsafe mode #17

Open brandonkimbk opened 3 years ago

brandonkimbk commented 3 years ago

We are exploring ways to dynamically set the failsafe PWM at runtime. However, we're finding that fans tend to drive up to max RPM when some sensors go missing, overshooting the lower failsafe PWM that we set for them.

Create a feature flag to allow us to bypass the comparison here:

https://github.com/openbmc/phosphor-pid-control/blob/master/pid/fancontroller.cpp#L128-L139

Krellan commented 1 year ago

I believe this can be closed. The compile-time flag serves the purpose.

When flag is not given (default behavior), the failsafe PWM establishes merely a minimum. The fans are free to go to higher PWM, up to and including 100%, if any thermal PID loops are still working well enough to request a higher RPM that corresponds to a higher PWM.

When flag is given, the failsafe PWM establishes a forced constant value. The PWM will be held at the failsafe value, regardless of any thermal PID loops.