lkml.org 
[lkml]   [2019]   [Nov]   [22]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 092/159] EDAC: Raise the maximum number of memory controllers
    Date
    From: Justin Ernst <justin.ernst@hpe.com>

    [ Upstream commit 6b58859419554fb824e09cfdd73151a195473cbc ]

    We observe an oops in the skx_edac module during boot:

    EDAC MC0: Giving out device to module skx_edac controller Skylake Socket#0 IMC#0
    EDAC MC1: Giving out device to module skx_edac controller Skylake Socket#0 IMC#1
    EDAC MC2: Giving out device to module skx_edac controller Skylake Socket#1 IMC#0
    ...
    EDAC MC13: Giving out device to module skx_edac controller Skylake Socket#0 IMC#1
    EDAC MC14: Giving out device to module skx_edac controller Skylake Socket#1 IMC#0
    EDAC MC15: Giving out device to module skx_edac controller Skylake Socket#1 IMC#1
    Too many memory controllers: 16
    EDAC MC: Removed device 0 for skx_edac Skylake Socket#0 IMC#0

    We observe there are two memory controllers per socket, with a limit
    of 16. Raise the maximum number of memory controllers from 16 to 2 *
    MAX_NUMNODES (1024).

    [ bp: This is just a band-aid fix until we've sorted out the whole issue
    with the bus_type association and handling in EDAC and can get rid of
    this arbitrary limit. ]

    Signed-off-by: Justin Ernst <justin.ernst@hpe.com>
    Signed-off-by: Borislav Petkov <bp@suse.de>
    Acked-by: Russ Anderson <russ.anderson@hpe.com>
    Cc: Mauro Carvalho Chehab <mchehab@kernel.org>
    Cc: linux-edac@vger.kernel.org
    Link: https://lkml.kernel.org/r/20180925143449.284634-1-justin.ernst@hpe.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    include/linux/edac.h | 3 ++-
    1 file changed, 2 insertions(+), 1 deletion(-)

    diff --git a/include/linux/edac.h b/include/linux/edac.h
    index 4fe67b853de04..9bb4f3311e137 100644
    --- a/include/linux/edac.h
    +++ b/include/linux/edac.h
    @@ -17,6 +17,7 @@
    #include <linux/completion.h>
    #include <linux/workqueue.h>
    #include <linux/debugfs.h>
    +#include <linux/numa.h>

    struct device;

    @@ -778,6 +779,6 @@ struct mem_ctl_info {
    /*
    * Maximum number of memory controllers in the coherent fabric.
    */
    -#define EDAC_MAX_MCS 16
    +#define EDAC_MAX_MCS 2 * MAX_NUMNODES

    #endif
    --
    2.20.1


    \
     
     \ /
      Last update: 2019-11-22 12:26    [W:4.265 / U:24.532 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site