Re: [Patch 8/8] kexec: allow to shrink reserved memory

From: KAMEZAWA Hiroyuki
Date: Wed Aug 19 2009 - 04:15:57 EST


On Wed, 19 Aug 2009 10:41:13 +0800
Amerigo Wang <amwang@xxxxxxxxxx> wrote:

> KAMEZAWA Hiroyuki wrote:
> > On Tue, 18 Aug 2009 18:35:32 +0800
> > Amerigo Wang <amwang@xxxxxxxxxx> wrote:
> >
> >
> >> KAMEZAWA Hiroyuki wrote:
> >>
> >>> On Tue, 18 Aug 2009 14:31:23 +0800
> >>> Amerigo Wang <amwang@xxxxxxxxxx> 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 ?


Thanks,
-Kame




--
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/