Re: [PATCH 4/4] ARM: memblock: convert reserve_crashkernel() touse memblock

From: Russell King - ARM Linux
Date: Sat Nov 13 2010 - 08:07:56 EST


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".
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/