On Tue, 2011-06-28 at 14:54 -0500, Becky Bruce wrote: > struct page *alloc_huge_page_node(struct hstate *h, int nid); > diff --git a/mm/hugetlb.c b/mm/hugetlb.c > index 6402458..2db81ea 100644 > --- a/mm/hugetlb.c > +++ b/mm/hugetlb.c > @@ -1105,8 +1105,14 @@ static void __init > gather_bootmem_prealloc(void) > struct huge_bootmem_page *m; > > list_for_each_entry(m, &huge_boot_pages, list) { > - struct page *page = virt_to_page(m); > struct hstate *h = m->hstate; > +#ifdef CONFIG_HIGHMEM > + struct page *page = pfn_to_page(m->phys >> > PAGE_SHIFT); > + free_bootmem_late((unsigned long)m, > + sizeof(struct huge_bootmem_page)); > +#else > + struct page *page = virt_to_page(m); > +#endif > __ClearPageReserved(page);
Why do you add free_bootmem_late() in the highmem case and not the normal case ? Cheers, Ben. _______________________________________________ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev