linux-mips
[Top] [All Lists]

Re: Any examples / docs for getting SPARSEMEM to work?

To: Chad Reese <kreese@caviumnetworks.com>
Subject: Re: Any examples / docs for getting SPARSEMEM to work?
From: Matt Porter <mporter@kernel.crashing.org>
Date: Thu, 18 May 2006 13:23:35 -0700
Cc: linux-mips@linux-mips.org
In-reply-to: <446CB5D8.107@caviumnetworks.com>; from kreese@caviumnetworks.com on Thu, May 18, 2006 at 10:58:48AM -0700
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <446CB5D8.107@caviumnetworks.com>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.2.5i
On Thu, May 18, 2006 at 10:58:48AM -0700, Chad Reese wrote:
> Hello All,
> 
> I've spent the last few days trying to get SPARSEMEM to work on a 64bit Mips 
> kernel. The processor I'm using has large wholes in its memory map.
> 
> Memory layout:
> 0 - 0x10000000                        First 256MB
> 0x410000000 - 0x420000000     Second 256MB
> 0x20000000 - ?                        The rest of memory
> 
> Up until now I've used the flat memory model and not mapped the 2nd 256MB. 
> This 
> is rather wasteful for boards with 512MB of memory. SPARSEMEM look like what 
> I 
Yep, SPARSEMEM is what you want. BTW, doublecheck your line wrap
settings on your mailer...they're messed up.

> need, but I've been unable to get it working. My attempts to configure it 
> always
> end with sparse_index_alloc calling alloc_bootmem_node which fails to 
> allocate 
> 4KB. In prom_init I've added memory using add_memory_region.

But where have you added everything else? Where are you registering the
sparsemem and initializing it? It sounds like you are either getting
an invalid node passed into the alloc_bootmem_node or you are calling
the bootmem allocator much later and it is failing. 

> Are there any reasonably easy to follow implementations of sparsemem? I 
> figure 
None that I know of, excpet for the i386, ia64, and powerpc
implementations. i386 is fairly straightforward except for all
the EFI magic.

> I'm missing something very basic, but perusal of Mips and the other 
> architectures haven't helped much.
> 
> My baseline is linux-mips 2.6.14.
> 
> Any help would be appreciated,

I suggest working back from your bootmem allocation failure to
understand why that is failing.

-Matt

<Prev in Thread] Current Thread [Next in Thread>