Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 32043
b: refs/heads/master
c: dd8041f
h: refs/heads/master
i:
  32041: 68a6e36
  32039: ffb3c0e
v: v3
  • Loading branch information
Yasunori Goto authored and Linus Torvalds committed Jul 4, 2006
1 parent aef626c commit 0327045
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 31304c909e6945b005af62cd55a582e9c010a0b4
refs/heads/master: dd8041f16b117f63f40fb844d6cdebe8b03514d2
16 changes: 13 additions & 3 deletions trunk/arch/ia64/mm/discontig.c
Original file line number Diff line number Diff line change
Expand Up @@ -313,9 +313,19 @@ static void __meminit scatter_node_data(void)
pg_data_t **dst;
int node;

for_each_online_node(node) {
dst = LOCAL_DATA_ADDR(pgdat_list[node])->pg_data_ptrs;
memcpy(dst, pgdat_list, sizeof(pgdat_list));
/*
* for_each_online_node() can't be used at here.
* node_online_map is not set for hot-added nodes at this time,
* because we are halfway through initialization of the new node's
* structures. If for_each_online_node() is used, a new node's
* pg_data_ptrs will be not initialized. Insted of using it,
* pgdat_list[] is checked.
*/
for_each_node(node) {
if (pgdat_list[node]) {
dst = LOCAL_DATA_ADDR(pgdat_list[node])->pg_data_ptrs;
memcpy(dst, pgdat_list, sizeof(pgdat_list));
}
}
}

Expand Down

0 comments on commit 0327045

Please sign in to comment.