]> err.no Git - linux-2.6/blobdiff - mm/hugetlb.c
Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville...
[linux-2.6] / mm / hugetlb.c
index 06699d871a8e568325361f5935ea72dacbd4f635..ebad6bbb35012570944117a4a495f2f6782e8f12 100644 (file)
@@ -105,7 +105,9 @@ static int alloc_fresh_huge_page(void)
        struct page *page;
        page = alloc_pages_node(nid, GFP_HIGHUSER|__GFP_COMP|__GFP_NOWARN,
                                        HUGETLB_PAGE_ORDER);
-       nid = (nid + 1) % num_online_nodes();
+       nid = next_node(nid, node_online_map);
+       if (nid == MAX_NUMNODES)
+               nid = first_node(node_online_map);
        if (page) {
                page[1].lru.next = (void *)free_huge_page;      /* dtor */
                spin_lock(&hugetlb_lock);