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.

Path csiph.com!feeder.erje.net!1.us.feeder.erje.net!newsfeed.fsmpi.rwth-aachen.de!newsfeed.straub-nv.de!news.unit0.net!news.panservice.it!bofh.it!news.nic.it!robomod
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 Wed, 25 May 2016 00:40:02 +0200
Message-ID <rCt9w-R2-19@gated-at.bofh.it> (permalink)
References <rCt9v-R2-5@gated-at.bofh.it>
Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Bo0wX1dtRm2ixXBJg1dz5iTjgopqkE/95z96VQ1+V34=; b=08EWTlvXQYcF1/2SN/P71Hpgy2WHw56LuZDwecPnoJ+6nI09E/eDDfBxpfYPffMO5q WMQb+rgEqpK2y8zFu0SgVfNtpqNugMKUfTsS0WAVc0nZIDsYKAv4Sr/1fSgBnnqwlNG8 NxgBIpgBhOFRjLKDVchimkRz7LzAyKEY9ddBftQgVP7FLvaXU+U0MSDDbIRk8p7PTmAx MRHL71wCsUF4LwuocZ+ZhUbssVaol9RlIt+6MtbF8RHSuoiESGBLKKrur2yVYa/s7wcm Nb3AZYLNgxpHZOy47mIYmmDF3hTM7M8cBHmtjEgkUyD7XtlhGgDrSg7mW6Ej7jAwMrAv bUKA==
X-Google-Dkim-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Bo0wX1dtRm2ixXBJg1dz5iTjgopqkE/95z96VQ1+V34=; b=jMPgUGWIARVM2F/PyCa5QLMmfQohNDrEJsO+/lGPrXLyX/SZ3vn5BjCg9jUTnTzvPq K1duQ9aF4os+i72tL8FWmgACCAZYEWPDq6d6+bZoLoHzHUWfSAKAmNfN4s0DnIFWbqPG dAVtWhtfLCCGroiOuD2b5WfVkNGbNGCLqo/IRncBzxu9uyQhjha8L+l+Cmdw1Vq00Kvb oqEOyQkZefTjWHVoXxJHH5Du/ck2Us2pvG8zRO4TgPZE144qOiopRquR2ecvlppz77oe pydNZtJAjoBp2ItSBY/eTAiYVVTJvSqPppysKptsV9liTGqg/Cn8IKQC9wTt2Ip87Hnm vmCQ==
X-Gm-Message-State ALyK8tK6OEqhXYA9fbd/i2JKH1FVw8D3XhDtQgIA2qytSDzptnflEp+w/Lf6v4K3I9vx7w==
X-Received by 10.98.93.129 with SMTP id n1mr943518pfj.16.1464129373877; Tue, 24 May 2016 15:36:13 -0700 (PDT)
X-Mailer git-send-email 1.7.11.7
Sender robomod@news.nic.it
List-ID <linux-kernel.vger.kernel.org>
X-Mailing-List linux-kernel@vger.kernel.org
Approved robomod@news.nic.it
Lines 54
Organization linux.* mail to news gateway
X-Original-Cc linux-kernel@vger.kernel.org, Robert Richter <rrichter@cavium.com>, David Daney <david.daney@cavium.com>
X-Original-Date Tue, 24 May 2016 15:35:42 -0700
X-Original-Message-ID <1464129345-18985-13-git-send-email-ddaney.cavm@gmail.com>
X-Original-References <1464129345-18985-1-git-send-email-ddaney.cavm@gmail.com>
X-Original-Sender linux-kernel-owner@vger.kernel.org
Xref csiph.com linux.kernel:1406478

Show key headers only | 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