diff --git a/[refs] b/[refs] index 9d00dee656f7..68f6d88221ac 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 9b65ef59d42a56fa1358958ede77aaa5bac385a8 +refs/heads/master: fdb7cc59084ba7eef935e4e40aaaf538ee34c625 diff --git a/trunk/mm/hugetlb.c b/trunk/mm/hugetlb.c index 06699d871a8e..ebad6bbb3501 100644 --- a/trunk/mm/hugetlb.c +++ b/trunk/mm/hugetlb.c @@ -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);