[PATCH 4/4] ARM: memblock: convert reserve_crashkernel() to use memblock
Russell King - ARM Linux
linux at arm.linux.org.uk
Sat Nov 13 08:07:00 EST 2010
On Tue, Nov 09, 2010 at 11:06:13AM +0200, Mika Westerberg wrote:
> static void __init reserve_crashkernel(void)
> {
> unsigned long long crash_size, crash_base;
> - unsigned long long total_mem;
> int ret;
>
> - total_mem = get_total_mem();
> - ret = parse_crashkernel(boot_command_line, total_mem,
> + /* this is necessary because of memblock_phys_mem_size() */
> + memblock_analyze();
I think you need to check with the memblock people whether its legal to
call memblock_analyze() multiple times. What do other arches do for
this?
Secondly, when paging_init() returns, bootmem has been initialized, and
memory taken from bootmem to feed the zone allocators. This memory is
not registered back into memblock. Allocations from memblock after
paging_init() has returned will lead to overlaps with bootmem, and
therefore corruption.
So, this code is better off left as-is, rather than trying to convert it
to what mistakenly appears "the latest thing".
More information about the linux-arm-kernel
mailing list