lkml.org 
[lkml]   [2009]   [Aug]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [Patch 8/8] kexec: allow to shrink reserved memory
KAMEZAWA Hiroyuki wrote:
> On Tue, 18 Aug 2009 14:31:23 +0800
> Amerigo Wang <amwang@redhat.com> 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!





\
 
 \ /
  Last update: 2009-08-18 10:55    [W:0.217 / U:0.020 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site