Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3571761f authored by KAMEZAWA Hiroyuki's avatar KAMEZAWA Hiroyuki Committed by Linus Torvalds
Browse files

[PATCH] for_each_online_pgdat: remove sorting pgdat



Because pgdat_list was linked to pgdat_list in *reverse* order, (By default)
some of arch has to sort it by themselves.

for_each_pgdat has gone..for_each_online_pgdat() uses node_online_map, which
doesn't need to be sorted.

This patch removes codes for sorting pgdat.

Signed-off-by: default avatarKAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent ec936fc5
Loading
Loading
Loading
Loading
+0 −11
Original line number Original line Diff line number Diff line
@@ -352,17 +352,6 @@ void __init zone_sizes_init(void)
{
{
	int nid;
	int nid;


	/*
	 * Insert nodes into pgdat_list backward so they appear in order.
	 * Clobber node 0's links and NULL out pgdat_list before starting.
	 */
	pgdat_list = NULL;
	for (nid = MAX_NUMNODES - 1; nid >= 0; nid--) {
		if (!node_online(nid))
			continue;
		NODE_DATA(nid)->pgdat_next = pgdat_list;
		pgdat_list = NODE_DATA(nid);
	}


	for_each_online_node(nid) {
	for_each_online_node(nid) {
		unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0};
		unsigned long zones_size[MAX_NR_ZONES] = {0, 0, 0};
+0 −31
Original line number Original line Diff line number Diff line
@@ -378,31 +378,6 @@ static void __init *memory_less_node_alloc(int nid, unsigned long pernodesize)
	return ptr;
	return ptr;
}
}


/**
 * pgdat_insert - insert the pgdat into global pgdat_list
 * @pgdat: the pgdat for a node.
 */
static void __init pgdat_insert(pg_data_t *pgdat)
{
	pg_data_t *prev = NULL, *next;

	for_each_online_pgdat(next)
		if (pgdat->node_id < next->node_id)
			break;
		else
			prev = next;

	if (prev) {
		prev->pgdat_next = pgdat;
		pgdat->pgdat_next = next;
	} else {
		pgdat->pgdat_next = pgdat_list;
		pgdat_list = pgdat;
	}

	return;
}

/**
/**
 * memory_less_nodes - allocate and initialize CPU only nodes pernode
 * memory_less_nodes - allocate and initialize CPU only nodes pernode
 *	information.
 *	information.
@@ -745,11 +720,5 @@ void __init paging_init(void)
				    pfn_offset, zholes_size);
				    pfn_offset, zholes_size);
	}
	}


	/*
	 * Make memory less nodes become a member of the known nodes.
	 */
	for_each_node_mask(node, memory_less_mask)
		pgdat_insert(mem_data[node].pgdat);

	zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page));
	zero_page_memmap_ptr = virt_to_page(ia64_imva(empty_zero_page));
}
}
+0 −6
Original line number Original line Diff line number Diff line
@@ -137,12 +137,6 @@ unsigned long __init zone_sizes_init(void)
	int nid, i;
	int nid, i;
	mem_prof_t *mp;
	mem_prof_t *mp;


	pgdat_list = NULL;
	for (nid = num_online_nodes() - 1 ; nid >= 0 ; nid--) {
		NODE_DATA(nid)->pgdat_next = pgdat_list;
		pgdat_list = NODE_DATA(nid);
	}

	for_each_online_node(nid) {
	for_each_online_node(nid) {
		mp = &mem_prof[nid];
		mp = &mem_prof[nid];
		for (i = 0 ; i < MAX_NR_ZONES ; i++) {
		for (i = 0 ; i < MAX_NR_ZONES ; i++) {