From patchwork Wed Apr 27 18:07:14 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: David Daney X-Patchwork-Id: 8961081 Return-Path: X-Original-To: patchwork-linux-acpi@patchwork.kernel.org Delivered-To: patchwork-parsemail@patchwork2.web.kernel.org Received: from mail.kernel.org (mail.kernel.org [198.145.29.136]) by patchwork2.web.kernel.org (Postfix) with ESMTP id D3999BF29F for ; Wed, 27 Apr 2016 18:09:03 +0000 (UTC) Received: from mail.kernel.org (localhost [127.0.0.1]) by mail.kernel.org (Postfix) with ESMTP id E678020259 for ; Wed, 27 Apr 2016 18:09:02 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EA73B2021F for ; Wed, 27 Apr 2016 18:09:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753848AbcD0SIl (ORCPT ); Wed, 27 Apr 2016 14:08:41 -0400 Received: from mail-pa0-f65.google.com ([209.85.220.65]:35895 "EHLO mail-pa0-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753662AbcD0SHt (ORCPT ); Wed, 27 Apr 2016 14:07:49 -0400 Received: by mail-pa0-f65.google.com with SMTP id i5so5679027pag.3; Wed, 27 Apr 2016 11:07:48 -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=nVp3xEiZCWHtnBjcvGD5mAOhPUsckrWSSqHEo5uvT5U=; b=cWtodZ7ZPCKuTCRiFsEsuU9gOfgi+VmZ/7g+jyk29wrvo64mpEnfIG1f8USdIX4w9i eViPaUkURcC7wMpVS2YKHDAtPBl7s1TWzu4Jqej4tA5sfu2K+11equ53qjFdhHngblMQ 5cfN/WJiULcyD7GVtRNUay6rVshNF/+TFUx1SnE3V257WONS8IlGPcQopmQbzOHSLd+U s0gOfgHiYw4hXF1BgJY5ty0A7YPXJihNACl2lbfSeGOmjJlv8gSF2Z3GXSFfggYSgmaM 5lDlhdO5eHaERUbfQYoihsCv3hSCSttEymaGCSnT9Xu+S+kHEMFpEzovebCgAGrsYoIV xquw== 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=nVp3xEiZCWHtnBjcvGD5mAOhPUsckrWSSqHEo5uvT5U=; b=bNhxKbUEs1sbYoS6lFVx/7xTI5yrMWC7GTwVYdZKH/dbHmBbxmLwJ3g2xWsrtlvWxC X0gxDQCxa9XdlCS53f1a4Q4miGAIZDU07FEdLXCQOqA9JF94Umzu95N5C6tKDb91v7+G 5NN6aPOmlXDewSRpg+a+y5UKlTXQlQU6BD5k6WlyEwkWVmVNNpiEEaDOOj/feNsAZkoC 7fbfV1ZZbLZZMt7JPuSQbqHrFLUZONtFMDX0zqNz2RNpACtB/WuxoEn3bcPK7fCZS2lQ DlLl4fENKY0DGJGO4sjq5Tinu3pAkOdmBj/KZiaI+/UC9mQQV9bAJCBuUr/KhVYcwByq D0Lg== X-Gm-Message-State: AOPr4FWLnNtnUggg5qU2xecTUTi4viwuqZQtTZgxMZe/N/cpzx3AGE3uyQMZB9xyOwijVA== X-Received: by 10.66.118.70 with SMTP id kk6mr14035889pab.74.1461780468399; Wed, 27 Apr 2016 11:07:48 -0700 (PDT) Received: from dl.caveonetworks.com ([64.2.3.194]) by smtp.gmail.com with ESMTPSA id o81sm8233079pfj.50.2016.04.27.11.07.34 (version=TLS1 cipher=AES128-SHA bits=128/128); Wed, 27 Apr 2016 11:07:40 -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 u3RI7Ya4027279; Wed, 27 Apr 2016 11:07:34 -0700 Received: (from ddaney@localhost) by dl.caveonetworks.com (8.14.5/8.14.5/Submit) id u3RI7XcH027278; Wed, 27 Apr 2016 11:07:33 -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 v6 12/14] acpi, numa, srat: Improve SRAT error detection and add messages. Date: Wed, 27 Apr 2016 11:07:14 -0700 Message-Id: <1461780436-27182-13-git-send-email-ddaney.cavm@gmail.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1461780436-27182-1-git-send-email-ddaney.cavm@gmail.com> References: <1461780436-27182-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-Spam-Status: No, score=-7.8 required=5.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED, FREEMAIL_FROM, RCVD_IN_DNSWL_HI, RP_MATCHES_RCVD, T_DKIM_INVALID, UNPARSEABLE_RELAY autolearn=ham version=3.3.1 X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on mail.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 d7d0499..50c8f42 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);