mbox series

[v2,00/10] EDAC/mc/ghes: Fixes, cleanup and reworks

Message ID 20200422115814.22205-1-rrichter@marvell.com (mailing list archive)
Headers show
Series EDAC/mc/ghes: Fixes, cleanup and reworks | expand

Message

Robert Richter April 22, 2020, 11:58 a.m. UTC
This series contains edac fixes and a significant cleanup and rework
of the ghes driver:

 * fixes and updates for edac_mc (patches #1, #2),

 * removed smbios_handle from struct dimm_info (patch #4),

 * fix of DIMM label in error reports (patch #5),

 * general ghes_edac cleanup and rework (patches #3, #6-#10).

First 2 patches for edac_mc are individual patches, the remaining
patches do not depend on them.

Tested on a Marvell/Cavium ThunderX2 Sabre (dual socket) system.

v1:
 * https://lore.kernel.org/patchwork/cover/1205901/

v2:
 * reordered patches to have fixes and struct changes first, code
   refactoring patches last,
 * dropped v1 patches #9 to #11 (multiple conrollers) to handle them
   in a separate series,
 * rewrote patch to remove smbios_handle (based on v1 #9): EDAC/ghes:
   Move smbios_handle from struct dimm_info to ghes private data,
 * added lockdep_assert_held() checkers,
 * renamed struct ghes_dimm_fill to struct dimm_fill,
 * renamed local variable dimms to dimm_list to avoid conflict with
   the global variable,
 * removed dimm list for "fake" controller,
 * fixed return code check to use (rc < 0),
 * added: EDAC/mc: Fix usage of snprintf() and dimm location setup


Robert Richter (10):
  EDAC/mc: Fix usage of snprintf() and dimm location setup
  EDAC/mc: Use int type for parameters of edac_mc_alloc()
  EDAC/ghes: Remove unused members of struct ghes_edac_pvt, rename it to
    ghes_mci
  EDAC/ghes: Make SMBIOS handle private data to ghes
  EDAC/ghes: Setup DIMM label from DMI and use it in error reports
  EDAC/ghes: Remove local variable rdr_mask in ghes_edac_dmidecode()
  EDAC/ghes: Cleanup struct ghes_edac_dimm_fill, rename it to
    ghes_dimm_fill
  EDAC/ghes: Carve out MC device handling into separate functions
  EDAC/ghes: Have a separate code path for creating the fake MC
  EDAC/ghes: Carve out code into ghes_edac_register_{one,fake}()

 drivers/edac/edac_mc.c   |  27 ++-
 drivers/edac/edac_mc.h   |   6 +-
 drivers/edac/ghes_edac.c | 380 +++++++++++++++++++++++++++------------
 include/linux/edac.h     |   2 -
 4 files changed, 280 insertions(+), 135 deletions(-)

Comments

Robert Richter May 6, 2020, 8:53 a.m. UTC | #1
Boris,

On 22.04.20 13:58:04, Robert Richter wrote:
> This series contains edac fixes and a significant cleanup and rework
> of the ghes driver:
> 
>  * fixes and updates for edac_mc (patches #1, #2),
> 
>  * removed smbios_handle from struct dimm_info (patch #4),
> 
>  * fix of DIMM label in error reports (patch #5),
> 
>  * general ghes_edac cleanup and rework (patches #3, #6-#10).
> 
> First 2 patches for edac_mc are individual patches, the remaining
> patches do not depend on them.
> 
> Tested on a Marvell/Cavium ThunderX2 Sabre (dual socket) system.
> 
> v1:
>  * https://lore.kernel.org/patchwork/cover/1205901/
> 
> v2:
>  * reordered patches to have fixes and struct changes first, code
>    refactoring patches last,
>  * dropped v1 patches #9 to #11 (multiple conrollers) to handle them
>    in a separate series,
>  * rewrote patch to remove smbios_handle (based on v1 #9): EDAC/ghes:
>    Move smbios_handle from struct dimm_info to ghes private data,
>  * added lockdep_assert_held() checkers,
>  * renamed struct ghes_dimm_fill to struct dimm_fill,
>  * renamed local variable dimms to dimm_list to avoid conflict with
>    the global variable,
>  * removed dimm list for "fake" controller,
>  * fixed return code check to use (rc < 0),
>  * added: EDAC/mc: Fix usage of snprintf() and dimm location setup

thanks for review.

I have addressed all of your review comments if not otherwise noted.
Please take a look at my replies to you. I am a bit unsure on how to
proceed with 08/10. I have sent you a detailed explanation and hope we
can find a solution soon. I could send a v3 then.

Thanks,

-Robert