diff options
-rw-r--r-- | mm/bootmem.c | 14 |
1 files changed, 3 insertions, 11 deletions
diff --git a/mm/bootmem.c b/mm/bootmem.c index 8ec4e4c2a179..c1330cc19783 100644 --- a/mm/bootmem.c +++ b/mm/bootmem.c | |||
@@ -61,17 +61,9 @@ static unsigned long __init init_bootmem_core (pg_data_t *pgdat, | |||
61 | { | 61 | { |
62 | bootmem_data_t *bdata = pgdat->bdata; | 62 | bootmem_data_t *bdata = pgdat->bdata; |
63 | unsigned long mapsize = ((end - start)+7)/8; | 63 | unsigned long mapsize = ((end - start)+7)/8; |
64 | static struct pglist_data *pgdat_last; | 64 | |
65 | 65 | pgdat->pgdat_next = pgdat_list; | |
66 | pgdat->pgdat_next = NULL; | 66 | pgdat_list = pgdat; |
67 | /* Add new nodes last so that bootmem always starts | ||
68 | searching in the first nodes, not the last ones */ | ||
69 | if (pgdat_last) | ||
70 | pgdat_last->pgdat_next = pgdat; | ||
71 | else { | ||
72 | pgdat_list = pgdat; | ||
73 | pgdat_last = pgdat; | ||
74 | } | ||
75 | 67 | ||
76 | mapsize = ALIGN(mapsize, sizeof(long)); | 68 | mapsize = ALIGN(mapsize, sizeof(long)); |
77 | bdata->node_bootmem_map = phys_to_virt(mapstart << PAGE_SHIFT); | 69 | bdata->node_bootmem_map = phys_to_virt(mapstart << PAGE_SHIFT); |