mm/page_alloc.c: refine the calculation of highest possible node id
nr_node_ids records the highest possible node id, which is calculated by scanning the bitmap node_states[N_POSSIBLE]. Current implementation scan the bitmap from the beginning, which will scan the whole bitmap. This patch reverses the order by scanning from the end with find_last_bit(). Signed-off-by: Wei Yang <weiyang@linux.vnet.ibm.com> Cc: Tejun Heo <tj@kernel.org> Acked-by: David Rientjes <rientjes@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
52a2b53ffd
commit
904a9553d4
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue