OpenBMC Thermal Design

Patrick Venture venture at
Wed May 3 06:46:52 AEST 2017

Just to give some details, the present design is as follows:
- A zone is a group of fans controlled independently.
 -- The configuration specifies the inputs to the PID loops. -- each loop
takes an input and a goal, and outputs an RPM to achieve the goal.  (the
loop input can be the margin)
 -- The PID loops all feed into a maximum function which then feeds a fan
PID loop that tweaks the duty cycles as write and reads the fan tachs back
until it's where it needs to be.

So we'll be dynamically building a list of PIDs to run and drive the output
for controlling the fans.


On Tue, May 2, 2017 at 12:33 PM, Patrick Venture <venture at> wrote:

> Please elaborate on the format or layout of the control configuration file.
> Please elaborate on the mechanism planned to import it into code?  Y'all
> often use python programs to make c++, will that be the case here?
> Please elaborate on how the control program will execute it's "pluggable"
> algorithm?
> Please elaborate on how the fans will be controlled?  Will that be as a
> group per system or independently per zone?
>   -- What is a zone?
> Patrick
> On Tue, May 2, 2017 at 11:07 AM, Matthew Barth <msbarth at
> > wrote:
>> Patrick,
>> As Patrick mentioned a few of us have been working on the fan control
>> infrastructure currently and wrote up a quick outline to share our thoughts
>> on the design layout. Let us know if there are areas you'd like to see more
>> detail.
>> Matt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the openbmc mailing list