xref: /openbmc/docs/designs/thermal-control-modes.md (revision f4febd002df578bad816239b70950f84ea4567e8)
12654988cSPatrick Williams# Control.ThermalMode dbus interface with Supported and Current properties
22654988cSPatrick Williams
3*f4febd00SPatrick WilliamsAuthor: Matthew Barth !msbarth
42654988cSPatrick Williams
5*f4febd00SPatrick WilliamsOther contributors: None
62654988cSPatrick Williams
7*f4febd00SPatrick WilliamsCreated: 2019-02-06
82654988cSPatrick Williams
92654988cSPatrick Williams## Problem Description
10*f4febd00SPatrick Williams
112654988cSPatrick WilliamsAn issue was discovered where the exhaust heat from the system GPUs causes
12*f4febd00SPatrick Williamsovertemp warnings on optical cables on certain system configurations. The issue
13*f4febd00SPatrick Williamscan be resolved by altering the fan control application's floor table,
142654988cSPatrick Williamseffectively raising the floor when these optical cables exist but an interface
152654988cSPatrick Williamsis needed to do so. Since the issue revolves around the optical cables
162654988cSPatrick Williamsthemselves, where no current mechanism exists to detect the presence of the
17*f4febd00SPatrick Williamsoptical cables plugged into a card downwind from the GPUs' exhaust, an end-user
18*f4febd00SPatrick Williamsmust be presented with an ability to enable this raised floor speed table.
192654988cSPatrick Williams
202654988cSPatrick Williams## Background and References
212654988cSPatrick Williams
22*f4febd00SPatrick WilliamsThe witherspoon system supports pci cards that could have optical cables plugged
23*f4febd00SPatrick Williamsin place of copper cables. These optical cables can report overtemp warnings to
24*f4febd00SPatrick Williamsthe OS when high GPU utilization workloads exist. When this occurs with low
25*f4febd00SPatrick Williamsenough CPU utilization, the fans could be kept at a given floor speed that
26*f4febd00SPatrick Williamssufficiently cools the components within the chassis, but not the optical cables
27*f4febd00SPatrick Williamswith the slow moving hot exhaust.
28*f4febd00SPatrick Williams
29*f4febd00SPatrick WilliamsWithout an available exhaust temp sensor, there's no direct way to determine the
30*f4febd00SPatrick Williamsexhaust temp and include that within the fan control algorithm. A similar issue
31*f4febd00SPatrick Williamsexists on other system where mathematical calculations are done based on the
32*f4febd00SPatrick Williamsoverall power dissipation.
332654988cSPatrick Williams
342654988cSPatrick WilliamsMathematical calculations to logically estimate exit air temps:
352654988cSPatrick Williamshttps://github.com/openbmc/dbus-sensors/blob/master/src/ExitAirTempSensor.cpp
362654988cSPatrick Williams
372654988cSPatrick Williams## Requirements
38*f4febd00SPatrick Williams
392654988cSPatrick WilliamsCreate the ability for an end-user to enable the use of a thermal control mode
402654988cSPatrick Williamsother than the default. In this use-case, the mode is specific to an
412654988cSPatrick Williamsundetectable configuration that alters the fan floor speeds unrelated to
422654988cSPatrick Williamsstandardized profile/modes such "Acoustic" and "Performance". Once the end-user
432654988cSPatrick Williamsselects a documented mode for the platform, the thermal control application
442654988cSPatrick Williamsalters its control algorithm according to the defined mode, which is
452654988cSPatrick Williamsimplementation specific to that instance of the application on that platform.
462654988cSPatrick Williams
472654988cSPatrick Williams## Proposed Design
48*f4febd00SPatrick Williams
492654988cSPatrick WilliamsCreate a Control.ThermalMode dbus interface containing a supported list of
502654988cSPatrick Williamsavailable thermal control modes along with what current mode is in use.
51*f4febd00SPatrick WilliamsInitially the current mode would be set to "Default" and the implementation of
52*f4febd00SPatrick Williamsthe interface would populate the supported list of modes.
532654988cSPatrick Williams
542654988cSPatrick WilliamsAs one implementation, phosphor-fan-presence/control would be updated to extend
55*f4febd00SPatrick Williamsthis dbus interface object which would fill in the list of supported modes from
56*f4febd00SPatrick Williamsits fan control configuration for the platform. Once the fan control application
57*f4febd00SPatrick Williamsstarts, the interface would be added on the zone object and available to be
58*f4febd00SPatrick Williamsqueried for supported modes or update the current mode. An end-user may set the
59*f4febd00SPatrick Williamscurrent mode to any of those supported modes and the current mode would be
60*f4febd00SPatrick Williamspersisted each time it is updated. This is to ensure each time the fan control
61*f4febd00SPatrick Williamsapplication zone objects are started, the last set control mode is used.
622654988cSPatrick Williams
632654988cSPatrick Williams## Alternatives Considered
64*f4febd00SPatrick Williams
65*f4febd00SPatrick WilliamsMathematical calculation to create a virtual exhaust temp sensor value based on
66*f4febd00SPatrick Williamsoverall power dissipation. However, in the witherspoon situation, using this
67*f4febd00SPatrick Williamstechnique would not be reliable in adjusting the floor speeds for only
682654988cSPatrick Williamsconfigurations using optical cables. This would instead present the possibility
692654988cSPatrick Williamsof raising floor speeds for configurations where its unnecessary.
702654988cSPatrick Williams
712654988cSPatrick Williams## Impacts
72*f4febd00SPatrick Williams
732654988cSPatrick WilliamsThe thermal control application used must be configured to provide what thermal
742654988cSPatrick Williamscontrol modes are supported/available on the interface as well as perform the
752654988cSPatrick Williamsassociated control changes when a mode is set.
762654988cSPatrick Williams
772654988cSPatrick Williams## Testing
78*f4febd00SPatrick Williams
792654988cSPatrick WilliamsTrigger the use of an alternative fan floor table based on the thermal control
802654988cSPatrick Williamsmode selected on a witherspoon system.
81