"alloc_area_pte: page already exists"

Xupei Liang tliang at yahoo.com
Fri Aug 1 04:48:34 EST 2003


Hi,

Thank both for looking into this. The patch
has got rid of the message.

Regards,

Terry Liang

--- Matt Porter <mporter at kernel.crashing.org> wrote:
>
> On Mon, Jul 28, 2003 at 11:23:48PM -0700, Kalpesh
> Jasapara wrote:
> > Hello,
> >
> > >From the code it appears that iounmap() or
> vfree() of
> > any virtual address that maps physical address
> beyond
> > the 32 bit address space, especially in case of
> PPC
> > 440 (where pte_t is defined as unsigned long long
> ),
> > free_area_pte() will return without completely
> > clearing out the pte.
> >
> > If the pte has not completely been cleaned up (all
> 64
> > bits) during the iounmap(or vfree) is it possible
> that
> > pte_none() would complain and you see the messages
> ?
> >
> > Matt, do you think it is a bug ?
> > the FIXME suggests that this needs to be cleaned
> up.
>
> Yes it is...good catch. :)  The FIXME comment in
> pte_update()
> is really suggesting that the interface isn't
> suitable for
> 64-bit PTE.  We can fix this by providing a suitable
> _PTE_NONE_MASK, it's intended to be used in PTEs
> where everything
> isn't cleared.
>
> It would be interesting to hear if the following
> patch solves
> the original problem.  It helps me.
>
> -Matt
>
> ===== include/asm-ppc/pgtable.h 1.41 vs edited =====
> --- 1.41/include/asm-ppc/pgtable.h      Wed Jul 16
> 18:38:55 2003
> +++ edited/include/asm-ppc/pgtable.h    Tue Jul 29
> 06:25:15 2003
> @@ -220,6 +220,9 @@
>  #define _PMD_PRESENT_MASK (PAGE_MASK)
>  #define _PMD_BAD       (~PAGE_MASK)
>
> +/* ERPN in a PTE never gets cleared, ignore it */
> +#define _PTE_NONE_MASK 0xffffffff00000000ULL
> +
>  #elif defined(CONFIG_8xx)
>  /* Definitions for 8xx embedded chips. */
>  #define _PAGE_PRESENT  0x0001  /* Page is valid */
>
> --
> 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