diff options
author | Linus Torvalds | 2005-09-30 12:38:27 -0700 |
---|---|---|
committer | Linus Torvalds | 2005-09-30 12:38:27 -0700 |
commit | 6e3254c4e2927c117044a02acf5f5b56e1373053 (patch) | |
tree | e5c4341cfac398fb57916ffeb0bf07d615662eb4 /mm | |
parent | 13402580021a52e49c6d1068ff28ade4d5a175f1 (diff) |
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>
Diffstat (limited to 'mm')
-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, { bootmem_data_t *bdata = pgdat->bdata; unsigned long mapsize = ((end - start)+7)/8; - static struct pglist_data *pgdat_last; - - pgdat->pgdat_next = NULL; - /* Add new nodes last so that bootmem always starts - searching in the first nodes, not the last ones */ - if (pgdat_last) - pgdat_last->pgdat_next = pgdat; - else { - pgdat_list = pgdat; - pgdat_last = pgdat; - } + + pgdat->pgdat_next = pgdat_list; + pgdat_list = pgdat; mapsize = ALIGN(mapsize, sizeof(long)); bdata->node_bootmem_map = phys_to_virt(mapstart << PAGE_SHIFT); |