Getting DIMM size in Redfish

Ed Tanous ed.tanous at intel.com
Sat Oct 12 04:30:03 AEDT 2019


On 10/10/19 8:01 PM, Lei YU wrote:
> This mail is to discuss how to get DIMM size in Redfish (bmcweb).
> 
> Currently, bmcweb does not report DIMM size because it's not
> implemented, and we are trying to implement this.
> 
> The DIMM interface is defined in [phosphor-dbus-interface][1], which
> does not provide any metadata.
> 
> For OpenPOWER systems, the size information is provided in `PrettyName`, e.g.
> 
>     "PrettyName": "DDR4-2666 32GiB 64-bit ECC RDIMM"

My issue with this is twofold.

1. So far as I can tell, there's no formal definition for what this
string should entail.  phosphor-dbus-interfaces lists it as "The human
readable name of the item."  Parsing this as a machine readable
parameter doesn't meet that intent.

2. I don't think that interface covers the full range of DIMM parameters
that can be set in Redfish.

> 
> It is guaranteed to be a string with 5 parts, and we could parse this
> string to get the size.

Where do you see this "guarantee"?  I'm not finding it anywhere.  Out of
curiosity, if the 5 params are guaranteed, what does it state when the
DIMM is non-ECC?

> I do not know how other systems (e.g. x86 or ARM) get the DIMM size.
> 
> During the [review][2] , Ed suggested creating an appropriate
> interface for the DIMM size.
> 
> It's a good suggestion, but it could be complicated to be implemented:

Given that this is something that all systems of all types are likely to
use, I think it's well worth taking the time to implement it in a
sustainable way.

> * The information is sent by host via inband IPMI as FRU;
> * In ipmid, the code to handle FRU is generic and part of the code is
> generated, so it could be hard to make a specific change for DIMM
> size.
> 
> So the question to the community is, how other systems get the DIMM size?
> Knowing this, we could try to design a generic method to handle the case.

On x86 there's a similar mechanism called Managed Data Region, which is
sent through one of 3(ish) transports and sends the SMBIOS table down to
the BMC.  I think the key here is that there needs to be an interface
for that daemon to publish.

> 
> Otherwise, we will have to write specific code, either in ipmid or in
> bmcweb, to get such specific values.

I think you've already found the interface proposal.  Lets work that
through so it meets everyone's needs.


More information about the openbmc mailing list