• Mauro Carvalho Chehab's avatar
    edac: Initialize the dimm label with the known information · 5926ff50
    Mauro Carvalho Chehab authored
    While userspace doesn't fill the dimm labels, add there the dimm location,
    as described by the used memory model. This could eventually match what
    is described at the dmidecode, making easier for people to identify the
    memory.
    
    For example, on an Intel motherboard where the DMI table is reliable,
    the first memory stick is described as:
    
    Memory Device
    	Array Handle: 0x0029
    	Error Information Handle: Not Provided
    	Total Width: 64 bits
    	Data Width: 64 bits
    	Size: 2048 MB
    	Form Factor: DIMM
    	Set: 1
    	Locator: A1_DIMM0
    	Bank Locator: A1_Node0_Channel0_Dimm0
    	Type: <OUT OF SPEC>
    	Type Detail: Synchronous
    	Speed: 800 MHz
    	Manufacturer: A1_Manufacturer0
    	Serial Number: A1_SerNum0
    	Asset Tag: A1_AssetTagNum0
    	Part Number: A1_PartNum0
    
    The memory named as "A1_DIMM0" is physically located at the first
    memory controller (node 0), at channel 0, dimm slot 0.
    
    After this patch, the memory label will be filled with:
    	/sys/devices/system/edac/mc/csrow0/ch0_dimm_label:mc#0channel#0slot#0
    
    And (after the new EDAC API patches) as:
    	/sys/devices/system/edac/mc/mc0/dimm0/dimm_label:mc#0channel#0slot#0
    
    So, even if the memory label is not initialized on userspace, an useful
    information with the error location is filled there, expecially since
    several systems/motherboards are provided with enough info to map from
    channel/slot (or branch/channel/slot) into the DIMM label. So, letting the
    EDAC core fill it by default is a good thing.
    
    It should noticed that, as the label filling happens at the
    edac_mc_alloc(), drivers can override it to better describe the memories
    (and some actually do it).
    
    Cc: Aristeu Rozanski <arozansk@redhat.com>
    Cc: Doug Thompson <norsk5@yahoo.com>
    Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@redhat.com>
    5926ff50
edac_mc_sysfs.c 27.2 KB