public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Bootmem broke ARM
@ 2003-11-16 10:15 Russell King
  2003-11-16 20:11 ` Andrew Morton
  0 siblings, 1 reply; 5+ messages in thread
From: Russell King @ 2003-11-16 10:15 UTC (permalink / raw)
  To: Linux Kernel List, Andrew Morton, Linus Torvalds

Andrew & others,

2.6 contains a change to init_bootmem_core() which now sorts the nodes
according to their start pfn.  This change occurred in revision 1.20 of
bootmem.c.  Unfortunately, this active sorting broke ARM discontig memory
support.

With previous kernels, the nodes are added to the list in reverse order,
so architecture code knew we had to add the highest PFN first and the
lowest PFN node last.

However, we now sort the nodes using node_start_pfn, which, at this point,
will be uninitialised - the responsibility for initialising this field
is with the generic code - in free_area_init_node() which occurs well
after bootmem has been initialised.

The result of this change is that we now add nodes to the tail of the
pgdat list, which is the opposite way to 2.4.

This causes problems for ARM because we need to use bootmem to initialise
the kernels page tables, and we can only allocate these from node 0 - none
of the other nodes are mapped into memory at this point.

I, therefore, believe this change is bogus.  Can it be reverted please?

-- 
Russell King
 Linux kernel    2.6 ARM Linux   - http://www.arm.linux.org.uk/
 maintainer of:  2.6 PCMCIA      - http://pcmcia.arm.linux.org.uk/
                 2.6 Serial core

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-11-18  9:57 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-11-16 10:15 Bootmem broke ARM Russell King
2003-11-16 20:11 ` Andrew Morton
2003-11-17 18:04   ` Jesse Barnes
2003-11-18  9:42     ` Russell King
2003-11-18  9:57       ` Russell King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox