diff --git a/mm/page_alloc.c b/mm/page_alloc.c index 5b5240b7f642..809e27e77b3a 100644 --- a/mm/page_alloc.c +++ b/mm/page_alloc.c @@ -5478,11 +5478,9 @@ void __paginginit free_area_init_node(int nid, unsigned long *zones_size, */ void __init setup_nr_node_ids(void) { - unsigned int node; - unsigned int highest = 0; + unsigned int highest; - for_each_node_mask(node, node_possible_map) - highest = node; + highest = find_last_bit(node_possible_map.bits, MAX_NUMNODES); nr_node_ids = highest + 1; } #endif