openbmc / phosphor-pid-control

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

Supports multiple fail-safe modes #41

Open averyzlyang opened 9 months ago

averyzlyang commented 9 months ago

The fan can have many different multiple failsafe values ​​(PWM) depending on different failsafe mode conditions Example: Case 1: When any fan fails, fan PWM is set to 100%. Case 2: When some temperature sensors cannot be read, the fan PWM is set to 80%. Case 3: Fan PWM set to 90% under other fault conditions

Krellan commented 9 months ago

This is a good idea.

If we can enumerate all the desired failsafe conditions, that will help. All of these will be optional (user can configure them if necessary for their platform).

If more than one of these failsafe conditions is true at the same time, then a simple rule applies: take the maximum PWM of all those that are true, and use that maximum. This will disambiguate.

harveyquta commented 8 months ago

Hi, I commit a PR to let failsafe duty more mutable. Does it meet your requirements? https://gerrit.openbmc.org/c/openbmc/phosphor-pid-control/+/67566

Krellan commented 6 months ago

This is a good idea, to allow each individual PID loop to set its own desired failure PWM percentage value. This would be optional, and if not set, the traditional zone-wide failure PWM value would still be applied. So, when a failure happens to any PID loop that doesn't have an individual PWM value set, the zone will still go into failsafe, using the zone-wide PWM value for failsafe.

However, this good idea does not really correspond with the initial comment from October 16 above. It is but one piece of the puzzle. More work will still be required, to implement the criteria in that comment from October 16 above.