From patchwork Tue May 24 22:35:42 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Daney X-Patchwork-Id: 9134345 X-Patchwork-Delegate: rjw@sisk.pl Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 49C9B60221 for ; Tue, 24 May 2016 22:36:44 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 3EEF528176 for ; Tue, 24 May 2016 22:36:44 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 335AE2822B; Tue, 24 May 2016 22:36:44 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.8 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 48F2328176 for ; Tue, 24 May 2016 22:36:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753739AbcEXWgU (ORCPT ); Tue, 24 May 2016 18:36:20 -0400 Received: from mail-pf0-f193.google.com ([209.85.192.193]:34490 "EHLO mail-pf0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753490AbcEXWgO (ORCPT ); Tue, 24 May 2016 18:36:14 -0400 Received: by mail-pf0-f193.google.com with SMTP id 145so3422266pfz.1; Tue, 24 May 2016 15:36:14 -0700 (PDT) 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) Received: from dl.caveonetworks.com ([50.233.148.158]) by smtp.gmail.com with ESMTPSA id tn7sm7583811pac.29.2016.05.24.15.36.04 (version=TLS1 cipher=AES128-SHA bits=128/128); Tue, 24 May 2016 15:36:09 -0700 (PDT) Received: from dl.caveonetworks.com (localhost.localdomain [127.0.0.1]) by dl.caveonetworks.com (8.14.5/8.14.5) with ESMTP id u4OMa3tJ019084; Tue, 24 May 2016 15:36:03 -0700 Received: (from ddaney@localhost) by dl.caveonetworks.com (8.14.5/8.14.5/Submit) id u4OMa3Bd019083; Tue, 24 May 2016 15:36:03 -0700 From: David Daney To: Will Deacon , linux-arm-kernel@lists.infradead.org, Mark Rutland , Catalin Marinas , Tony Luck , Fenghua Yu , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, "Rafael J. Wysocki" , Len Brown , Rob Herring , Frank Rowand , Grant Likely , Robert Moore , Lv Zheng , Hanjun Guo , Marc Zyngier , linux-ia64@vger.kernel.org, linux-acpi@vger.kernel.org, devel@acpica.org Cc: linux-kernel@vger.kernel.org, Robert Richter , David Daney Subject: [PATCH v7 12/15] acpi, numa, srat: Improve SRAT error detection and add messages. Date: Tue, 24 May 2016 15:35:42 -0700 Message-Id: <1464129345-18985-13-git-send-email-ddaney.cavm@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1464129345-18985-1-git-send-email-ddaney.cavm@gmail.com> References: <1464129345-18985-1-git-send-email-ddaney.cavm@gmail.com> Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: David Daney 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 --- 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);