Messages in this thread |  | | Date | Sun, 15 Jun 2008 20:46:50 -0700 | | From | "Yinghai Lu" <> | | Subject | Re: [PATCH] x86: use add_highpages_with_active_regions for high pages init |
| |
On Sun, Jun 15, 2008 at 6:20 PM, Huang, Ying <ying.huang@intel.com> wrote: > 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()?
don't need, EFI memmap should be reserved in e820map, so it should not show up in early_node_map. if it is not reserved in e820map, you could use e820_add_region or e820_update_range make it reserved
YH
|  |