Messages in this thread | | | Date | Mon, 22 Oct 2012 12:24:41 -0700 | Subject | Re: [PATCH 12/19] x86, mm: Add alloc_low_pages(num) | From | Yinghai Lu <> |
| |
On Mon, Oct 22, 2012 at 8:17 AM, Konrad Rzeszutek Wilk <konrad@kernel.org> wrote: > On Thu, Oct 18, 2012 at 01:50:23PM -0700, Yinghai Lu wrote: >> 32bit kmap mapping need page table to be used for low to high. > ^-s > >> >> At this point those page table are still from pgt_buf_* from BRK, > ^s > >> So it is ok now. >> But we want to move early_ioremap_page_table_range_init() out of >> init_memory_mapping() and only call it one time later, that will >> make page_table_range_init/page_table_kmap_check/alloc_low_page to >> use memblock to get page. >> >> memblock allocation for page table are from high to low. > ^s >> >> So will get panic from page_table_kmap_check() that has BUG_ON to do >> ordering checking. >> >> This patch add alloc_low_pages to make it possible to alloc serveral pages >> at first, and hand out pages one by one from low to high. > > .. But for right now this patch just makes it by default one.
?
--- 32bit kmap mapping needs pages to be used for low to high.
At this point those pages are still from pgt_buf_* from BRK, so it is ok now. But we want to move early_ioremap_page_table_range_init() out of init_memory_mapping() and only call it one time later, that will make page_table_range_init/page_table_kmap_check/alloc_low_page to use memblock to get page.
memblock allocation for pages are from high to low.
So will get panic from page_table_kmap_check() that has BUG_ON to do ordering checking.
This patch add alloc_low_pages to make it possible to alloc serveral pages at first, and hand out pages one by one from low to high.
-v2: add one line comment about xen requirements. ---
| |