Quanta requests to create a repo in OpenBMC github

Andrei Kartashev a.kartashev at yadro.com
Sat Sep 19 04:22:40 AEST 2020


I'm just curious, because I don't really know how does pid-control
actually works. Let's say we have following zone configuration (EM
configuration file, unrelated PID parameters are hidden):
{
    "FailSafePercent": 100,
    "MinThermalOutput": 30,
    "Name": "Main",
    "Type": "Pid.Zone"
},
{
    "Class": "temp",
    "Inputs": [
        "DIMM [ABCDEF]\\d+ CPU0",
        "DIMM [ABCDEF]\\d+ CPU1"
    ],
    "Name": "DIMM ALL",
    "Outputs": [],
    "SetPoint": 80.0,
    "Type": "Pid",
    "Zones": [
        "Main"
    ],
    ...
},
{
    "Class": "temp",
    "Inputs": [
        "EXIT_AIR"
    ],
    "Name": "EXIT_AIR",
    "Outputs": [],
    "SetPoint": 50.0,
    "Type": "Pid",
    "Zones": [
        "Main"
    ],
    ...
},
{
    "Class": "fan",
    "Inputs": [
        "SYS_FAN"
    ],
    "Name": "SYS_FAN",
    "Outputs": [
        "SYS_FAN_PWM"
    ],
    "Type": "Pid",
    "Zones": [
        "Main"
    ],
    ...
},


How would it work? I was sure pid-control would examine all the sensors
and try to keep temperature below setpoints: 80 degrees for any of DIMM
memory sensors and 50 degree for exit air. If so, what is the benefit
to use this virtual margin sensor?

On Fri, 2020-09-18 at 08:49 -0700, Patrick Venture wrote:
> On Fri, Sep 18, 2020 at 1:06 AM Andrei Kartashev <
> a.kartashev at yadro.com> wrote:
> > 
> > > This daemon is intended to be used in combination with
> > > phosphor-pid-control. You define a configuration file with two
> > > sections: sensors and zones.
> > > 
> > > Sensors have a D-Bus path to read from along with a target
> > > temperature
> > > and some other parameters. The daemon subtracks the current
> > > temperature from the target temperature to get the "margin". A
> > > smaller
> > > margin means the temperature is closer to the limit.
> > > 
> > > Zones group sensors together and look for the worst (lowest)
> > > margin
> > > value within that group. This value is then exported for use in
> > > phosphor-pid-control.
> > 
> > I wonder, isn't phosphor-pid-control do the same by its own? How
> > does
> > it works inside pid-control daemon, when you set several thermal
> > sensors for one Zone an set setpoint for each of them?
> 
> Not sure what your question is, but yes, the pid-control daemon can
> host its own margin sensor values that are populated externally,
> however this is only supported via the json configuration at present.
> 
> > 
> > --
> > Best regards,
> > Andrei Kartashev
> > 
> > 
-- 
Best regards,
Andrei Kartashev




More information about the openbmc mailing list