<div dir="ltr">I'm working on a thermal control loop that'll operate within the openbmc framework(s) and wanted to provide a somewhat high level overview for thoughts.<div><br></div><div>The general design is to have a daemon that reads fans and temperatures from dbus (reaching out to phosphor-hwmon) as well as being able to receive temperatures and other sensor information over an OEM IPMI command.<br></div><div><br></div><div>The system will support zones defined (yes, probably in YAML).  A zone will have at least one exclusion fan, and at least one thermal sensor.  The thermal sensor can be shared.  There will be defaults provided in this configuration to act as fallbacks.</div><div><br></div><div>The thermal loop will be margin based and attempt to drive the fans to maintain the temperature within operating temperature of the zones.  Each zone will be independently managed.</div><div><br></div><div>Because not all thermal sensors can necessarily be ready by the BMC, we need a method of getting that information from the host.  From a previous project, we have the notion of sending thermal margins for slow and quick (heat change) devices to a controller.</div><div><br></div><div>Regards,</div><div>Patrick</div></div>