Thread (14 messages) 14 messages, 4 authors, 2011-01-25

[PATCH] ARM: mm: Regarding section when dealing with meminfo

From: Dave Hansen <hidden>
Date: 2011-01-24 16:54:06
Also in: linux-mm, linux-samsung-soc, lkml

On Sun, 2011-01-23 at 18:05 +0000, Russell King - ARM Linux wrote:
On Thu, Jan 20, 2011 at 10:11:27AM -0800, Dave Hansen wrote:
quoted
On Thu, 2011-01-20 at 18:01 +0000, Russell King - ARM Linux wrote:
quoted
quoted
The x86 version of show_mem() actually manages to do this without any
#ifdefs, and works for a ton of configuration options.  It uses
pfn_valid() to tell whether it can touch a given pfn.
x86 memory layout tends to be very simple as it expects memory to
start at the beginning of every region described by a pgdat and extend
in one contiguous block.  I wish ARM was that simple.
x86 memory layouts can be pretty funky and have been that way for a long
time.  That's why we *have* to handle holes in x86's show_mem().  My
laptop even has a ~1GB hole in its ZONE_DMA32:
If x86 is soo funky, I suggest you try the x86 version of show_mem()
on an ARM platform with memory holes.  Make sure you try it with
sparsemem as well...
x86 uses the generic lib/ show_mem().  It works for any holes, as long
as they're expressed in one of the memory models so that pfn_valid()
notices them.

ARM looks like its pfn_valid() is backed up by searching the (ASM
arch-specific) memblocks.  That looks like it would be fairly slow
compared to the other pfn_valid() implementations and I can see why it's
being avoided in show_mem().

Maybe we should add either the MAX_ORDER or section_nr() trick to the
lib/ implementation.  I bet that would use pfn_valid() rarely enough to
meet any performance concerns.

-- Dave
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help