Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBorislav Petkov <bp@suse.de>2018-10-31 20:31:43 +0100
committerBorislav Petkov <bp@suse.de>2018-10-31 23:05:48 +0100
commit6e99f0fae264b5898dc7957699dd18786e0bb23b (patch)
treeebee84f4a544097bebd55813263c1013cbc48791
parentf773242a6f6fcd2cbd2ae5d118018b81862e04a8 (diff)
EDAC: Raise the maximum number of memory controllers (bsc#1113780).
-rw-r--r--patches.drivers/edac-raise-the-maximum-number-of-memory-controllers.patch58
-rw-r--r--series.conf1
2 files changed, 59 insertions, 0 deletions
diff --git a/patches.drivers/edac-raise-the-maximum-number-of-memory-controllers.patch b/patches.drivers/edac-raise-the-maximum-number-of-memory-controllers.patch
new file mode 100644
index 0000000000..d3f053d96b
--- /dev/null
+++ b/patches.drivers/edac-raise-the-maximum-number-of-memory-controllers.patch
@@ -0,0 +1,58 @@
+From: Justin Ernst <justin.ernst@hpe.com>
+Date: Tue, 25 Sep 2018 09:34:49 -0500
+Subject: EDAC: Raise the maximum number of memory controllers
+Git-commit: 6b58859419554fb824e09cfdd73151a195473cbc
+Patch-mainline: v4.20-rc1
+References: bsc#1113780
+
+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
+---
+ 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 a45ce1f84bfc..1d0c9ea8825d 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>
+
+ #define EDAC_DEVICE_NAME_LEN 31
+
+@@ -672,6 +673,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
+
diff --git a/series.conf b/series.conf
index 2658ad663c..c23fdefe3b 100644
--- a/series.conf
+++ b/series.conf
@@ -18210,6 +18210,7 @@
patches.fixes/nvdimm-split-label-init-out-from-the-logic-for-getting-config-data.patch
patches.fixes/nvdimm-use-namespace-index-data-to-reduce-number-of-label-reads-needed.patch
patches.fixes/libnvdimm-label-fix-sparse-warning.patch
+ patches.drivers/edac-raise-the-maximum-number-of-memory-controllers.patch
patches.drivers/PCI-ASPM-Fix-link_state-teardown-on-device-removal.patch
patches.drivers/scsi-qla2xxx-Fix-process-response-queue-for-ISP26XX-.patch
patches.drivers/scsi-qla2xxx-Fix-incorrect-port-speed-being-set-for-.patch