lkml.org 
[lkml]   [2009]   [Aug]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
DateThu, 20 Aug 2009 17:15:56 +0800
FromAmerigo Wang <>
SubjectRe: [Patch 8/8] kexec: allow to shrink reserved memory
KAMEZAWA Hiroyuki wrote:
> On Wed, 19 Aug 2009 10:41:13 +0800
> Amerigo Wang <amwang@redhat.com> wrote:
>
>
>> KAMEZAWA Hiroyuki wrote:
>>
>>> On Tue, 18 Aug 2009 18:35:32 +0800
>>> Amerigo Wang <amwang@redhat.com> wrote:
>>>
>>>
>>>
>>>> KAMEZAWA Hiroyuki wrote:
>>>>
>>>>
>>>>> On Tue, 18 Aug 2009 14:31:23 +0800
>>>>> Amerigo Wang <amwang@redhat.com> wrote:
>>>>>
>>>>>
>>>>>
>>>>>>> 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++
>>>>>
>>>>>
>>>>>
>>>> Just FYI: calling ClearPageReserved() caused an oops: "Unable to handle
>>>> paging request".
>>>>
>>>> I am trying to figure out why...
>>>>
>>>>
>>>>
>>> Hmm...then....memmap is not there.
>>> pfn_valid() check will help you. What arch ? x86-64 ?
>>>
>>>
>> Hmm, yes, x86_64, but this code is arch-independent, I mean it should
>> work or not work on all arch, no?
>>
>> So I am afraid we need to use other API to free it...
>>
>>
> The, problem is whether memmap is there or not. That's all.
> plz see init sequence and check there are memmap.
> If memory-for-crash is obtained via bootmem,
> Don't you try to free memory hole ?
>

Hi,

It looks like that mem_map has 'struct page' for the reserved memory, I
checked my "early_node_map[] active PFN ranges" output, the reserved
memory area for crash kernel is right in one range. Am I missing
something here?

I don't know why that oops comes out, maybe because of no PTE for thoese
pages?

Thanks.




\
 
 \ /
  Last update: 2009-08-20 11:17    [from the cache]
©2003-2010