Re: [Patch 8/8] kexec: allow to shrink reserved memory
From: Amerigo Wang
Date: Tue Aug 18 2009 - 04:51:58 EST
KAMEZAWA Hiroyuki wrote:
On Tue, 18 Aug 2009 14:31:23 +0800
Amerigo Wang <amwang@xxxxxxxxxx> wrote:
Hi, thank you!
Can I have a question ?
- How crash kernel's memory is preserved at boot ?
Use bootmem, I think.
I see.
In x86,
setup_arch()
-> reserve_crashkernel()
-> find_and_reserve_crashkernel()
-> reserve_bootmem_generic()
Then, all "active range" is already registered and there are memmap.
It's hidden from the system before mem_init() ?
Not sure, but probably yes. It is reserved in setup_arch() which is
before mm_init() which calls mem_init().
Do you have any advice to free that reserved memory after boot? :)
Let's see arch/x86/mm/init.c::free_initmem()
Maybe it's all you want.
- ClearPageReserved()
- init_page_count()
- free_page()
- totalram_pages++
But it has no argumetns. Maybe you need your own function or modification.
online_pages() does very similar. But, hmm,.. writing something open coded one
for crashkernel is not very bad, I think.
Nice help!
Yeah, I think we can make that be a generic wrapper function so that
both free_initmem() and shrink_crash_memory() can use it.
Then I will update and resend the whole patchset.
Thank you!
--
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/