Messages in this thread | | | From | (Eric W. Biederman) | Date | Fri, 14 Aug 2009 15:17:34 -0700 | Subject | Re: [Patch 8/8] kexec: allow to shrink reserved memory |
| |
Amerigo Wang <amwang@redhat.com> writes:
> Not that simple, marking it as "__init" means it uses some "__init" data which > will be dropped after initialization.
If we start with the assumption that we will be reserving to much and will free the memory once we know how much we really need I see a very simple way to go about this. We ensure that the reservation of crash kernel memory is done through a normal allocation so that we have struct page entries for every page. On 32bit x86 that is an extra 1MB for a 128MB allocation.
Then when it comes time to release that memory we clear whatever magic flags we have on the page (like PG_reserve) and call free_page.
Eric
| |