[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200519202535.GC444@zn.tnic>
Date: Tue, 19 May 2020 22:25:35 +0200
From: Borislav Petkov <bp@...en8.de>
To: Robert Richter <rrichter@...vell.com>
Cc: Mauro Carvalho Chehab <mchehab@...nel.org>,
Tony Luck <tony.luck@...el.com>,
James Morse <james.morse@....com>,
Aristeu Rozanski <aris@...hat.com>,
Matthias Brugger <mbrugger@...e.com>,
linux-edac@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3] EDAC/ghes: Setup DIMM label from DMI and use it in
error reports
On Mon, May 18, 2020 at 11:58:52AM +0200, Robert Richter wrote:
> +static void dimm_setup_label(struct dimm_info *dimm, u16 handle)
> +{
> + const char *bank = NULL, *device = NULL;
> +
> + dmi_memdev_name(handle, &bank, &device);
> +
> + /* both strings must be non-zero */
> + if (bank && *bank && device && *device)
> + snprintf(dimm->label, sizeof(dimm->label),
> + "%s %s", bank, device);
> + else
> + snprintf(dimm->label, sizeof(dimm->label),
> + "unknown memory (handle: 0x%.4x)", handle);
This changes the sysfs strings on my test box like this. 00-ghes.before
and 01-ghes.after are created by doing:
grep -EriIn . /sys/devices/system/edac/ 2>/dev/null > [filename]
edac_mc_alloc_dimms() already sets the dimm->label to "mc#%dmemory#%d"
but I'm guessing that dmi_memdev_name() doesn't give on my machine what
it gives on yours.
Welcome to the wonderful world of consistently implemented firmware!
--- 00-ghes.before 2020-05-19 17:55:50.821220239 +0200
+++ 01-ghes.after 2020-05-19 22:09:28.808492701 +0200
@@ -17,7 +17,7 @@
/sys/devices/system/edac/mc/mc0/ce_count:1:0
/sys/devices/system/edac/mc/mc0/mc_name:1:ghes_edac
/sys/devices/system/edac/mc/mc0/csrow15/ce_count:1:0
-/sys/devices/system/edac/mc/mc0/csrow15/ch0_dimm_label:1:mc#0memory#15
+/sys/devices/system/edac/mc/mc0/csrow15/ch0_dimm_label:1:unknown memory (handle: 0x0030)
/sys/devices/system/edac/mc/mc0/csrow15/power/runtime_active_time:1:0
/sys/devices/system/edac/mc/mc0/csrow15/power/runtime_active_kids:1:0
/sys/devices/system/edac/mc/mc0/csrow15/power/runtime_usage:1:0
@@ -42,7 +42,7 @@
/sys/devices/system/edac/mc/mc0/power/runtime_enabled:1:disabled & forbidden
/sys/devices/system/edac/mc/mc0/power/control:1:on
/sys/devices/system/edac/mc/mc0/csrow31/ce_count:1:0
-/sys/devices/system/edac/mc/mc0/csrow31/ch0_dimm_label:1:mc#0memory#31
+/sys/devices/system/edac/mc/mc0/csrow31/ch0_dimm_label:1:unknown memory (handle: 0x0040)
/sys/devices/system/edac/mc/mc0/csrow31/power/runtime_active_time:1:0
/sys/devices/system/edac/mc/mc0/csrow31/power/runtime_active_kids:1:0
/sys/devices/system/edac/mc/mc0/csrow31/power/runtime_usage:1:0
@@ -73,10 +73,10 @@
/sys/devices/system/edac/mc/mc0/dimm15/dimm_dev_type:1:Unknown
/sys/devices/system/edac/mc/mc0/dimm15/size:1:32768
/sys/devices/system/edac/mc/mc0/dimm15/dimm_ce_count:1:0
-/sys/devices/system/edac/mc/mc0/dimm15/dimm_label:1:mc#0memory#15
+/sys/devices/system/edac/mc/mc0/dimm15/dimm_label:1:unknown memory (handle: 0x0030)
/sys/devices/system/edac/mc/mc0/dimm15/dimm_location:1:memory 15
/sys/devices/system/edac/mc/mc0/dimm15/dimm_edac_mode:1:SECDED
-/sys/devices/system/edac/mc/mc0/seconds_since_reset:1:354
+/sys/devices/system/edac/mc/mc0/seconds_since_reset:1:979
/sys/devices/system/edac/mc/mc0/dimm31/dimm_ue_count:1:0
/sys/devices/system/edac/mc/mc0/dimm31/dimm_mem_type:1:Registered-DDR4
/sys/devices/system/edac/mc/mc0/dimm31/power/runtime_active_time:1:0
@@ -90,7 +90,7 @@
/sys/devices/system/edac/mc/mc0/dimm31/dimm_dev_type:1:Unknown
/sys/devices/system/edac/mc/mc0/dimm31/size:1:32768
/sys/devices/system/edac/mc/mc0/dimm31/dimm_ce_count:1:0
-/sys/devices/system/edac/mc/mc0/dimm31/dimm_label:1:mc#0memory#31
+/sys/devices/system/edac/mc/mc0/dimm31/dimm_label:1:unknown memory (handle: 0x0040)
/sys/devices/system/edac/mc/mc0/dimm31/dimm_location:1:memory 31
/sys/devices/system/edac/mc/mc0/dimm31/dimm_edac_mode:1:SECDED
/sys/devices/system/edac/mc/mc0/max_location:1:memory 31
--
Regards/Gruss,
Boris.
https://people.kernel.org/tglx/notes-about-netiquette
Powered by blists - more mailing lists