Luck, Tony wrote: > No action is required in the contig.c case, but the compiler grumbles > because you changed the type (of the arguments) for register_active_ranges(). > So for a .config with CONFIG_VIRTUAL_MEM_MAP=y the following warning is > produced: > > CC arch/ia64/mm/contig.o > arch/ia64/mm/contig.c: In function `paging_init': > arch/ia64/mm/contig.c:258: warning: passing arg 1 of `efi_memmap_walk' from incompatible pointer type > > -Tony Thank you. There is a NUMA memory configuration issue in 2.6.24: A 2-node machine of ours has got the following memory layout: Node 0: 0 - 2 Gbytes Node 0: 4 - 8 Gbytes Node 1: 8 - 16 Gbytes Node 0: 16 - 18 Gbytes "efi_memmap_init()" merges the three last ranges into one. "register_active_ranges()" is called as follows: efi_memmap_walk(register_active_ranges, NULL); i.e. once for the 4 - 18 Gbytes range. It picks up the node number from the start address, and registers all the memory for the node #0. "register_active_ranges()" should be called as follows to make sure there is no merged address range at its entry: efi_memmap_walk(filter__memory, register_active_ranges); "filter__memory()" is similar to "filter_rsvd_memory()", but the reserved memory ranges are not filtered out. Thanks, Zoltan Menyhart Signed-off-by: Zoltan Menyhart,