]> git.baikalelectronics.ru Git - kernel.git/commit
x86_64: fix setup_node_bootmem to support big mem excluding with memmap
authorYinghai Lu <yhlu.kernel@gmail.com>
Tue, 18 Mar 2008 19:52:37 +0000 (12:52 -0700)
committerIngo Molnar <mingo@elte.hu>
Sat, 26 Apr 2008 20:51:08 +0000 (22:51 +0200)
commit4a846db84200343ac8c58ae036fced7b1877c318
treeb94c4864edd0869d8ab7b25b9c3942a14bb6f9db
parent9e4cb1fe90133b07e24beddb94bf6a1acd7efc1f
x86_64: fix setup_node_bootmem to support big mem excluding with memmap

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: Yinghai Lu <yhlu.kernel@gmail.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/e820_64.c
arch/x86/kernel/setup_64.c
arch/x86/mm/numa_64.c
include/asm-x86/e820_64.h