Commit 6e3254c4e2927c117044a02acf5f5b56e1373053
1 parent
1340258002
Exists in
master
and in
7 other branches
Revert "x86-64: Reverse order of bootmem lists"
As requested by Thomas Gleixner <tglx@linutronix.de>: "5d3d0f7704ed0bc7eaca0501eeae3e5da1ea6c87 breaks a couple of ARM boards, which depend on the historical bootmem allocation order. There is a cleaner solution around to remove the pgdat list completely, but this is a topic for post 2.6.14 Andi signalled ACK already." Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Showing 1 changed file with 3 additions and 11 deletions Side-by-side Diff
mm/bootmem.c
... | ... | @@ -61,17 +61,9 @@ |
61 | 61 | { |
62 | 62 | bootmem_data_t *bdata = pgdat->bdata; |
63 | 63 | unsigned long mapsize = ((end - start)+7)/8; |
64 | - static struct pglist_data *pgdat_last; | |
65 | 64 | |
66 | - pgdat->pgdat_next = NULL; | |
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 | - } | |
65 | + pgdat->pgdat_next = pgdat_list; | |
66 | + pgdat_list = pgdat; | |
75 | 67 | |
76 | 68 | mapsize = ALIGN(mapsize, sizeof(long)); |
77 | 69 | bdata->node_bootmem_map = phys_to_virt(mapstart << PAGE_SHIFT); |