All of lore.kernel.org
 help / color / mirror / Atom feed
* 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.