Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1406478

[PATCH v7 12/15] acpi, numa, srat: Improve SRAT error detection and add messages.

From David Daney <ddaney.cavm@gmail.com>
Newsgroups linux.kernel
Subject [PATCH v7 12/15] acpi, numa, srat: Improve SRAT error detection and add messages.
Date 2016-05-25 00:40 +0200
Message-ID <rCt9w-R2-19@gated-at.bofh.it> (permalink)
References <rCt9v-R2-5@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


From: David Daney <david.daney@cavium.com>

Loosely based on code from Robert Richter and Hanjun Guo.

Improve out of range node detection as well as allow for Larger SRAT
entities.

Add printing of nice messages.

Signed-off-by: David Daney <david.daney@cavium.com>
---
 drivers/acpi/numa.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/drivers/acpi/numa.c b/drivers/acpi/numa.c
index 811f90a..fad6d28 100644
--- a/drivers/acpi/numa.c
+++ b/drivers/acpi/numa.c
@@ -252,8 +252,11 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
 
 	if (srat_disabled())
 		goto out_err;
-	if (ma->header.length != sizeof(struct acpi_srat_mem_affinity))
+	if (ma->header.length < sizeof(struct acpi_srat_mem_affinity)) {
+		pr_err("SRAT: Unexpected header length: %d\n",
+		       ma->header.length);
 		goto out_err_bad_srat;
+	}
 	if ((ma->flags & ACPI_SRAT_MEM_ENABLED) == 0)
 		goto out_err;
 	hotpluggable = ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE;
@@ -267,13 +270,17 @@ acpi_numa_memory_affinity_init(struct acpi_srat_mem_affinity *ma)
 		pxm &= 0xff;
 
 	node = acpi_map_pxm_to_node(pxm);
-	if (node < 0) {
-		printk(KERN_ERR "SRAT: Too many proximity domains.\n");
+	if (node == NUMA_NO_NODE || node >= MAX_NUMNODES) {
+		pr_err("SRAT: Too many proximity domains.\n");
 		goto out_err_bad_srat;
 	}
 
-	if (numa_add_memblk(node, start, end) < 0)
+	if (numa_add_memblk(node, start, end) < 0) {
+		pr_err("SRAT: Failed to add memblk to node %u [mem %#010Lx-%#010Lx]\n",
+		       node, (unsigned long long) start,
+		       (unsigned long long) end - 1);
 		goto out_err_bad_srat;
+	}
 
 	node_set(node, numa_nodes_parsed);
 
-- 
1.7.11.7

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH v7 00/15] ACPI NUMA support for ARM64 David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 02/15] acpi, numa: Replace ACPI_DEBUG_PRINT() with pr_debug() David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 09/15] acpi, numa: move bad_srat() and srat_disabled() to drivers/acpi/numa.c David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 12/15] acpi, numa, srat: Improve SRAT error detection and add messages. David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 13/15] ACPI / processor: Add acpi_map_madt_entry(). David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
    Re: [PATCH v7 13/15] ACPI / processor: Add acpi_map_madt_entry(). Catalin Marinas <catalin.marinas@arm.com> - 2016-05-25 16:50 +0200
  [PATCH v7 11/15] acpi, numa: Move acpi_numa_memory_affinity_init() to drivers/acpi/numa.c David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 10/15] acpi, numa: remove unneeded acpi_numa=1 David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 14/15] arm64, acpi, numa: NUMA support based on SRAT and SLIT David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
    Re: [PATCH v7 14/15] arm64, acpi, numa: NUMA support based on SRAT  and SLIT Catalin Marinas <catalin.marinas@arm.com> - 2016-05-25 16:50 +0200
    Re: [PATCH v7 14/15] arm64, acpi, numa: NUMA support based on SRAT  and SLIT Dennis Chen <dennis.chen@linaro.org> - 2016-05-27 10:10 +0200
  [PATCH v7 15/15] acpi, numa: Enable ACPI based NUMA on ARM64 David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 05/15] acpi, numa: move acpi_numa_slit_init() to drivers/acpi/numa.c David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 07/15] arm64, numa: Cleanup NUMA disabled messages. David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
    Re: [PATCH v7 07/15] arm64, numa: Cleanup NUMA disabled messages. Dennis Chen <dennis.chen@linaro.org> - 2016-05-27 10:00 +0200
  [PATCH v7 08/15] x86, acpi, numa: cleanup acpi_numa_processor_affinity_init() David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:40 +0200
  [PATCH v7 06/15] arm64, numa: rework numa_add_memblk() David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:50 +0200
  [PATCH v7 04/15] acpi, numa: Move acpi_numa_arch_fixup() to ia64 only David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:50 +0200
  [PATCH v7 03/15] acpi, numa: remove duplicate NULL check David Daney <ddaney.cavm@gmail.com> - 2016-05-25 00:50 +0200

csiph-web