From patchwork Sat Feb 19 02:47:08 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Travis X-Patchwork-Id: 574311 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id p1J2lTOq024641 for ; Sat, 19 Feb 2011 02:47:43 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754368Ab1BSCrM (ORCPT ); Fri, 18 Feb 2011 21:47:12 -0500 Received: from relay3.sgi.com ([192.48.152.1]:42522 "EHLO relay.sgi.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752846Ab1BSCrL (ORCPT ); Fri, 18 Feb 2011 21:47:11 -0500 Received: from gulag1.americas.sgi.com (gulag1.americas.sgi.com [128.162.236.41]) by relay3.corp.sgi.com (Postfix) with ESMTP id 44921AC00A; Fri, 18 Feb 2011 18:47:06 -0800 (PST) Received: by gulag1.americas.sgi.com (Postfix, from userid 5508) id ECB901037A63D; Fri, 18 Feb 2011 20:47:05 -0600 (CST) Message-Id: <20110219024705.828947738@gulag1.americas.sgi.com> References: <20110219024705.308511527@gulag1.americas.sgi.com> User-Agent: quilt/0.46-1 Date: Fri, 18 Feb 2011 20:47:08 -0600 From: Mike Travis To: Ingo Molnar Cc: Jack Steiner , Robin Holt , Len Brown , Thomas Gleixner , "H. Peter Anvin" , Andrew Morton , Yinghai Lu , linux-acpi@vger.kernel.org, x86@kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/6] x86: Minimize SRAT messages Content-Disposition: inline; filename=minimize-srat-msgs.v2 Sender: linux-acpi-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter1.kernel.org [140.211.167.41]); Sat, 19 Feb 2011 02:47:43 +0000 (UTC) --- linux.orig/arch/x86/mm/srat_64.c +++ linux/arch/x86/mm/srat_64.c @@ -110,6 +110,12 @@ void __init acpi_numa_slit_init(struct a memblock_x86_reserve_range(phys, phys + length, "ACPI SLIT"); } +/* + * Keep track of previous node and PXM values to reduce clutter + * in message and reduce the byte count in the kernel log. + */ +static int __initdata last_node = -1, last_pxm = -1; + /* Callback for Proximity Domain -> x2APIC mapping */ void __init acpi_numa_x2apic_affinity_init(struct acpi_srat_x2apic_cpu_affinity *pa) @@ -141,8 +147,17 @@ acpi_numa_x2apic_affinity_init(struct ac set_apicid_to_node(apic_id, node); node_set(node, cpu_nodes_parsed); acpi_numa = 1; - printk(KERN_INFO "SRAT: PXM %u -> APIC 0x%04x -> Node %u\n", - pxm, apic_id, node); + if (node != last_node) { + pr_info("SRAT: Node %u: PXM:APIC %u:%u", + node, pxm, apic_id); + last_node = node; + last_pxm = pxm; + } else if (pxm != last_pxm) { + pr_cont(" %u:%u", pxm, apic_id); + last_pxm = pxm; + } else { + pr_cont(" :%u", apic_id); + } } /* Callback for Proximity Domain -> LAPIC mapping */ @@ -301,8 +316,7 @@ acpi_numa_memory_affinity_init(struct ac nd->end = end; } - printk(KERN_INFO "SRAT: Node %u PXM %u %lx-%lx\n", node, pxm, - start, end); + pr_info("SRAT: Node %u PXM %u %lx+%lx\n", node, pxm, start, end-start); if (ma->flags & ACPI_SRAT_MEM_HOT_PLUGGABLE) { update_nodes_add(node, start, end); --- linux.orig/drivers/acpi/numa.c +++ linux/drivers/acpi/numa.c @@ -286,6 +286,9 @@ int __init acpi_numa_init(void) if (!acpi_table_parse(ACPI_SIG_SRAT, acpi_parse_srat)) { acpi_table_parse_srat(ACPI_SRAT_TYPE_X2APIC_CPU_AFFINITY, acpi_parse_x2apic_affinity, 0); + /* insure trailing newline is output */ + pr_cont("\n"); + acpi_table_parse_srat(ACPI_SRAT_TYPE_CPU_AFFINITY, acpi_parse_processor_affinity, 0); ret = acpi_table_parse_srat(ACPI_SRAT_TYPE_MEMORY_AFFINITY,