Naming DBus paths of CPU objects

Ren, Zhikui zhikui.ren at intel.com
Wed Sep 23 03:25:02 AEST 2020


I am working on some CPU related properties. Please upload to Gerrit if you have some POC patch ready.

Thanks,
Zhikui

-----Original Message-----
From: openbmc <openbmc-bounces+zhikui.ren=intel.com at lists.ozlabs.org> On Behalf Of i.kononenko
Sent: Tuesday, September 22, 2020 3:35 AM
To: Ed Tanous <ed at tanous.net>
Cc: OpenBMC Maillist <openbmc at lists.ozlabs.org>
Subject: Re: Naming DBus paths of CPU objects

Ed, hello
Some time ago I opened discussion about naming of CPU dbus-objects and way to couple of its.
But, my bad, I was missing your answer. So sorry, I'd kindly ask to start discussion again

Bellow are my thoughts about this.

On 01.09.2020 02:39, Ed Tanous wrote:
> On Mon, Aug 31, 2020 at 10:55 AM i.kononenko <i.kononenko at yadro.com> wrote:
>>
>> Hi,
>>
>> I'm working on improving of the OpenBMC RedFISH API. In particular, the endpoint of the Processor.
>> To provide all the properties of the applied RedFISH schema, we need 
>> to get from DBus everything related to the CPU object.
>> It can be CPU, Sensor CPU temp, Sensors Core CPU, etc.
> 
> 
> I'm a little confused.  The Processor schema doesn't have a Thermal 
> property (did they add one?) so CPU temperatures and core temps would 
> need to go under an equivalent Assembly or Chassis.  I think today for 
> some platforms they're added under the baseboard, which isn't 
> "correct" but is close enough.  Can you talk a little more about what 
> you're wanting to accomplish in your improvements?  What would the end 
> result look like?

Yes, the Processor schema doesn't have Thermal property, but let's looks to implementation of CPUSensors.
It's be more precise explanation of what I want to accomplish.

The CPUSensors takes the DBus configuration object which is defined at the EntityManager.
This object impls the `xyz.openbmc_project.Configuration.XeonCPU` and `xyz.openbmc_project.Inventory.Item`.
The last one adjust `Present` and `PrettyName` properties. So, known that at least, we can adjust Processor's schema fields "Status": "Healf" And "State". 

Moreover, the CPUSensors using data of `xyz.openbmc_project.Configuration.XeonCPU` retrieve the sensors target values from `hwmon` and define cpu-core dbus objects, in particular. Each one cpu-core object also want have `Present` property. Having this information about each Core of CPU we can adjust field "TotalEnabledCores".
Summary, if this objects will be couple then we can present the Processor state information at a first approximation.

At next time, when all specific CPU information will be taken from a 3d-party place (e.g. smbios-mdrv2) we would want adds this to the exists CPU item.
For that might been happen we must define way to couple all dbus-object about the same thing physical processor. 
(EM-configuration, CPUSensors-each-sensors, CPUSensor-healf-object, Smbios_mdrv2-manufacturer-data, e.g.)

I'd suggest to do this with object-mapper's associations. I have patch set and I can push it to gerrit, if anybody interested of the purposes described above.

Thanks!

> 
>>
>>
>> However, some services have different names for the same physical processor.
>> In particular it is about `entity-manager`, `dbus-sensros`, `smbios-mdr_v2`.
>> `Smbios-mdr_v2` (just like `hwmon`) names the processor, indexing it 
>> from 0; in `entity-manager` and `dbus-sensor` indexing starts from 1.
>>
>> I want to add dbus-associations between all Processor's object, but 
>> for that I think we need to adopt a naming convention for the same DBus objects.
> 
> 
> Can you talk about why you need this?  Keep in mind, there are lots of 
> systems that have processors on add in cards, or separate 
> accelerators.  Making the statement "all" makes me think you're 
> wanting to make a blanket association from system->processor, which 
> I'm not sure we can do as a generalization without breaking those use 
> cases (which admittedly aren't modeled very well today).  I would hope 
> we don't need to rely on a common naming convention to do it.
> 
>>
>>
>> I like to index it from 0, just like doing that the `hwmon`, for example.
> 
> 
> I completely agree that we should standardize the naming convention 
> where we can, the only problem here is that the overarching goal is 
> that we match the silkscreen mask on the board, some of which zero 
> index, some of which one index.  With that said, I know that a lot of 
> the existing configs don't currently match the silkscreen.
> smbios-mdr_v2 to my understanding should be using 1 indexing.
> 
>>
>>
>> --
>> Best Regards!
>> Igor Kononenko

--
best,

Igor Kononenko


More information about the openbmc mailing list