"alloc_area_pte: page already exists"

Xupei Liang tliang at yahoo.com
Wed Jul 23 11:18:34 EST 2003


Hi, Matt,

Thank you.

I am not using any io_block_map() call in the code.
However, there are might be other similar causes.
I am still working on it.

If you have more ideas, please let me know.

Regards,

Terry L.


--- Matt Porter <mporter at kernel.crashing.org> wrote:
>
> On Mon, Jul 21, 2003 at 07:01:49PM -0700, Xupei
> Liang wrote:
> >
> > Matt,
> >
> > It is a custom board with 256MB of memory.
>
> Ahh, ok.  So, what you've done is misconfigured a
> mapping in
> your custom board port.  It's reporting that you
> already have
> a pte allocated in the vmalloc area which must be
> untouched
> so the VM can allocate memory at runtime.
>
> Usually, this is the result of an errant
> io_block_map entry
> which overlaps the vmalloc area.  Examine the
> VMALLOC_START
> macro to see how the start of vmalloc space is
> calculated.
> In your case, (256MB of RAM) the start of vmalloc
> space will
> be at 0xd1000000 assuming a standard PAGE_OFFSET of
> 0xc0000000.
> If you've mapped something near that virtual address
> or somewhere
> close above that address then you need to move it.
> How much
> vmalloc space you need to reserve depends solely on
> your specific
> application.
>
> In most cases, it's smarter to never use
> io_block_map and to
> let ioremap() create mappings dynamically so this
> sort of thing
> doesn't happen. Most modern in-kernel ports try to
> not use
> io_block_map if at all possible.
>
> Regards,
> --
> Matt Porter
> mporter at kernel.crashing.org
>
>


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/





More information about the Linuxppc-embedded mailing list