lkml.org 
[lkml]   [2009]   [Mar]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    Date
    From
    Subject[tip:kmemcheck] x86: fix warning about nodeid
    Commit-ID:  e954ef20c29b7af07a8cb5452f14fb69e3d9d2b2
    Gitweb: http://git.kernel.org/tip/e954ef20c29b7af07a8cb5452f14fb69e3d9d2b2
    Author: "Yinghai Lu" <yinghai@kernel.org>
    AuthorDate: Thu, 5 Mar 2009 12:04:57 -0800
    Commit: Ingo Molnar <mingo@elte.hu>
    CommitDate: Sun, 8 Mar 2009 19:34:17 +0100

    x86: fix warning about nodeid

    Impact: cleanup

    Ingo found there warning about nodeid with some configs.

    try to use for_each_online_node for non numa too. in that case
    nodeid will be 0.

    also move out boundary checking from setup_node_bootmem(), so
    non-numa config will not check it.

    Signed-off-by: Yinghai Lu <yinghai@kernel.org>
    Cc: Andrew Morton <akpm@linux-foundation.org>
    LKML-Reference: <49B03069.80001@kernel.org>
    Signed-off-by: Ingo Molnar <mingo@elte.hu>


    ---
    arch/x86/mm/init_32.c | 23 ++++++++++++++---------
    1 files changed, 14 insertions(+), 9 deletions(-)

    diff --git a/arch/x86/mm/init_32.c b/arch/x86/mm/init_32.c
    index 2966c6b..db81e9a 100644
    --- a/arch/x86/mm/init_32.c
    +++ b/arch/x86/mm/init_32.c
    @@ -806,11 +806,6 @@ static unsigned long __init setup_node_bootmem(int nodeid,
    {
    unsigned long bootmap_size;

    - if (start_pfn > max_low_pfn)
    - return bootmap;
    - if (end_pfn > max_low_pfn)
    - end_pfn = max_low_pfn;
    -
    /* don't touch min_low_pfn */
    bootmap_size = init_bootmem_node(NODE_DATA(nodeid),
    bootmap >> PAGE_SHIFT,
    @@ -843,13 +838,23 @@ void __init setup_bootmem_allocator(void)
    max_pfn_mapped<<PAGE_SHIFT);
    printk(KERN_INFO " low ram: 0 - %08lx\n", max_low_pfn<<PAGE_SHIFT);

    + for_each_online_node(nodeid) {
    + unsigned long start_pfn, end_pfn;
    +
    #ifdef CONFIG_NEED_MULTIPLE_NODES
    - for_each_online_node(nodeid)
    - bootmap = setup_node_bootmem(nodeid, node_start_pfn[nodeid],
    - node_end_pfn[nodeid], bootmap);
    + start_pfn = node_start_pfn[nodeid];
    + end_pfn = node_end_pfn[nodeid];
    + if (start_pfn > max_low_pfn)
    + continue;
    + if (end_pfn > max_low_pfn)
    + end_pfn = max_low_pfn;
    #else
    - bootmap = setup_node_bootmem(0, 0, max_low_pfn, bootmap);
    + start_pfn = 0;
    + end_pfn = max_low_pfn;
    #endif
    + bootmap = setup_node_bootmem(nodeid, start_pfn, end_pfn,
    + bootmap);
    + }

    after_bootmem = 1;
    }

    \
     
     \ /
      Last update: 2009-03-08 19:59    [W:0.034 / U:1.748 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site