lkml.org 
[lkml]   [2011]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[PATCH 3/6] x86: Minimize SRAT messages
    Condense the SRAT: messages to show all APIC id's for the
    node on a single line.

    v1: Added pertinent __init & __initdata specifiers.
    v2: updated to apply to x86-tip

    Signed-off-by: Mike Travis <travis@sgi.com>
    Reviewed-by: Jack Steiner <steiner@sgi.com>
    Reviewed-by: Robin Holt <holt@sgi.com>
    ---
    arch/x86/mm/srat_64.c | 22 ++++++++++++++++++----
    drivers/acpi/numa.c | 3 +++
    2 files changed, 21 insertions(+), 4 deletions(-)

    --- 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,
    --


    \
     
     \ /
      Last update: 2011-02-19 03:49    [W:0.022 / U:175.616 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site