Messages in this thread | | | Subject | Re: [PATCH] x86: use add_highpages_with_active_regions for high pages init | From | "Huang, Ying" <> | Date | Mon, 16 Jun 2008 09:20:41 +0800 |
| |
On Sat, 2008-06-14 at 02:05 -0700, Yinghai Lu wrote: > On Sat, Jun 14, 2008 at 1:23 AM, Ingo Molnar <mingo@elte.hu> wrote: > > > > * Yinghai Lu <yhlu.kernel@gmail.com> wrote: > > > >> use early_node_map to init high pages, so can remove page_is_ram and > >> page_is_reserved_early in the big loop with add_one_highpage > >> > >> also remove the page_is_reserved_early that is not needed. > > > > applied to tip/x86/mpparse for testing, thanks. > > > > Andrew: mm/page_alloc.c modification. > > Ying Huang, > > I removed page_is_reserved_early....it cause init highmem take extra > time on my big box.
OK.
> please check efi_reserve_early that is calling reserve_early. so need > to make sure "EFI memmap" is reserved in itself...otherwise you may > need to update e820 table by add_memory_region (...., > E820_RESERVED)...
EFI memmap may be in highmem, it can not be reserved by bootmem allocator on i386. So I think it is necessary to have an early highmem allocator. It can be used for EFI memory map and linked list of setup data which comes from boot-loader and may be located in highmem.
As for the implementation, what about adding a remove_active_range() which operate on early_node_map and an early_res_to_early_node_map()?
Best Regards, Huang Ying
| |