Messages in this thread | | | Date | Fri, 11 Apr 2008 10:13:17 +0200 | From | Andi Kleen <> | Subject | Re: [patch 11/17] hugetlbfs: support larger than MAX_ORDER |
| |
> spin_lock(&hugetlb_lock); > - if (h->surplus_huge_pages_node[nid]) { > + if (h->surplus_huge_pages_node[nid] && h->order <= MAX_ORDER) {
As Andrew Hastings pointed out earlier this all needs to be h->order < MAX_ORDER [got pretty much all the checks wrong off by one]. It won't affect anything on x86-64 but might cause problems on archs which have exactly MAX_ORDER sized huge pages.
> update_and_free_page(h, page); > h->surplus_huge_pages--; > h->surplus_huge_pages_node[nid]--; > @@ -220,6 +221,9 @@ static struct page *alloc_fresh_huge_pag > { > struct page *page; > > + if (h->order > MAX_ORDER)
>= etc.
-Andi
| |