* PID control configuration usage
@ 2019-03-06 19:36 Matthew Barth
2019-03-06 20:31 ` Ed Tanous
0 siblings, 1 reply; 4+ messages in thread
From: Matthew Barth @ 2019-03-06 19:36 UTC (permalink / raw)
To: Patrick Venture, James Feist; +Cc: Aaron Williams, OpenBMC Maillist
I'm investigating the functionality and use of pid-control to what is
currently being used on IBM's witherspoon system. Is there a PID control
configuration being used that's upstream? I am unable to find any
systems in the meta layers using pid-control that provides a direct
configuration example. It looks to be used in the Intel layer that pulls
a config together from entity-manager and presents it on dbus to
pid-control, but I dont follow how the entity-manager json transforms to
the consumable pid-control json. Could someone point me to a functional
(possibly in-use) example or show the json config produced from
entity-manager?
Thanks,
Matt
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PID control configuration usage
2019-03-06 19:36 PID control configuration usage Matthew Barth
@ 2019-03-06 20:31 ` Ed Tanous
2019-03-07 17:33 ` Matthew Barth
0 siblings, 1 reply; 4+ messages in thread
From: Ed Tanous @ 2019-03-06 20:31 UTC (permalink / raw)
To: openbmc
On 3/6/19 11:36 AM, Matthew Barth wrote:
> I'm investigating the functionality and use of pid-control to what is
> currently being used on IBM's witherspoon system.
Sweeeeeet.
> Is there a PID control
> configuration being used that's upstream? I am unable to find any
> systems in the meta layers using pid-control that provides a direct
> configuration example. It looks to be used in the Intel layer that pulls
> a config together from entity-manager and presents it on dbus to
> pid-control, but I dont follow how the entity-manager json transforms to
> the consumable pid-control json.
It doesn't. When using the entity manager configs, the DBUS data
structures are read directly by pid-control, and converted into the C
data structures that the JSON would've been encoded to at build time.
no json is created or destroyed.
> Could someone point me to a functional
> (possibly in-use) example or show the json config produced from
> entity-manager?
I thought the Quanta system used it, but I'm not seeing the JSON.
Patrick checked in a basic example here:
https://github.com/openbmc/phosphor-pid-control/blob/master/examples/fan-info.json
But I'm guessing you already found that.
I'm not sure if it helps, but here's a dump of the entity-manager dbus
interfaces, on a system with a dozen or so add in fru devices detected.
Each fru device has its own thermal controllers installed and exposed to
dbus.
https://pastebin.com/jaKw5TJa
-Ed
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PID control configuration usage
2019-03-06 20:31 ` Ed Tanous
@ 2019-03-07 17:33 ` Matthew Barth
2019-03-08 2:11 ` Lei YU
0 siblings, 1 reply; 4+ messages in thread
From: Matthew Barth @ 2019-03-07 17:33 UTC (permalink / raw)
To: Ed Tanous, openbmc
On 3/6/19 2:31 PM, Ed Tanous wrote:
> On 3/6/19 11:36 AM, Matthew Barth wrote:
>> I'm investigating the functionality and use of pid-control to what is
>> currently being used on IBM's witherspoon system.
> Sweeeeeet.
>
>> Is there a PID control
>> configuration being used that's upstream? I am unable to find any
>> systems in the meta layers using pid-control that provides a direct
>> configuration example. It looks to be used in the Intel layer that pulls
>> a config together from entity-manager and presents it on dbus to
>> pid-control, but I dont follow how the entity-manager json transforms to
>> the consumable pid-control json.
> It doesn't. When using the entity manager configs, the DBUS data
> structures are read directly by pid-control, and converted into the C
> data structures that the JSON would've been encoded to at build time.
> no json is created or destroyed.
>
Thanks for clarifying that
>> Could someone point me to a functional
>> (possibly in-use) example or show the json config produced from
>> entity-manager?
> I thought the Quanta system used it, but I'm not seeing the JSON.
> Patrick checked in a basic example here:
> https://github.com/openbmc/phosphor-pid-control/blob/master/examples/fan-info.json
> But I'm guessing you already found that.
I did see that. I used that as my starting point, but its quite a simple
config that I was interested in seeing a more complex example that's in use.
>
> I'm not sure if it helps, but here's a dump of the entity-manager dbus
> interfaces, on a system with a dozen or so add in fru devices detected.
> Each fru device has its own thermal controllers installed and exposed to
> dbus.
>
> https://pastebin.com/jaKw5TJa
Thanks, I'll dig thru this to see if I can associate the corresponding
json entries I'd setup and give to swampd at startup.
Matt
>
> -Ed
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: PID control configuration usage
2019-03-07 17:33 ` Matthew Barth
@ 2019-03-08 2:11 ` Lei YU
0 siblings, 0 replies; 4+ messages in thread
From: Lei YU @ 2019-03-08 2:11 UTC (permalink / raw)
To: Matthew Barth; +Cc: Ed Tanous, OpenBMC Maillist
> >> Could someone point me to a functional
> >> (possibly in-use) example or show the json config produced from
> >> entity-manager?
> > I thought the Quanta system used it, but I'm not seeing the JSON.
> > Patrick checked in a basic example here:
> > https://github.com/openbmc/phosphor-pid-control/blob/master/examples/fan-info.json
> > But I'm guessing you already found that.
> I did see that. I used that as my starting point, but its quite a simple
> config that I was interested in seeing a more complex example that's in use.
>
I tried pid-control on Romulus before and here is a working config for
Romulus, just for testing purpose.
https://github.com/mine260309/openbmc/blob/3d45a1b452d9150da89e058bcc544d9f5525cf27/meta-openbmc-machines/meta-openpower/meta-ibm/meta-romulus/recipes-phosphor/fans/romulus-fans-sensor-list/pid-list.yaml
The above config does below settings:
1. Set the outlet temperature set-point to 45, so when the temperature is
above 45, the fan speed is increased, and when it's lower than 45, the fan
peed is decreased.
2. Romulus' fan0/2 uses the same pwm, so they are controlled in a same group.
3. The fan1 uses a separated pwm, so it's in a separated group.
4. I tried to use cpu core temperature as set-point, but that requires the
cores described in the config file are all available.
If a core temperature is missing (e.g. the CPU does not have all the cores),
phosphor-pid-control throws and exits.
On my Romulus it has 4-core CPUs, so I need to put the specific 8 cores in
the config to make it work.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-03-08 2:12 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-06 19:36 PID control configuration usage Matthew Barth
2019-03-06 20:31 ` Ed Tanous
2019-03-07 17:33 ` Matthew Barth
2019-03-08 2:11 ` Lei YU
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.