• Y
    x86_64: fix setup_node_bootmem to support big mem excluding with memmap · 1a27fc0a
    Yinghai Lu 提交于
    typical case: four sockets system, every node has 4g ram, and we are using:
    
    	memmap=10g$4g
    
    to mask out memory on node1 and node2
    
    when numa is enabled, early_node_mem is used to get node_data and node_bootmap.
    
    if it can not get memory from the same node with find_e820_area(), it will
    use alloc_bootmem to get buff from previous nodes.
    
    so check it and print out some info about it.
    
    need to move early_res_to_bootmem into every setup_node_bootmem.
    and it takes range that node has. otherwise alloc_bootmem could return addr
    that reserved early.
    
    depends on "mm: make reserve_bootmem can crossed the nodes".
    Signed-off-by: NYinghai Lu <yhlu.kernel@gmail.com>
    Signed-off-by: NIngo Molnar <mingo@elte.hu>
    1a27fc0a
e820_64.c 23.5 KB