linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Matt Porter <mporter@kernel.crashing.org>
To: Kalpesh Jasapara <kjasapara@yahoo.com>
Cc: tliang@yahoo.com, Matt Porter <mporter@kernel.crashing.org>,
	"linuxppc-embedded@lists.linuxppc.org"
	<linuxppc-embedded@lists.linuxppc.org>
Subject: Re: "alloc_area_pte: page already exists"
Date: Tue, 29 Jul 2003 08:15:26 -0700	[thread overview]
Message-ID: <20030729081526.A26346@home.com> (raw)
In-Reply-To: <20030729062348.20980.qmail@web14601.mail.yahoo.com>; from kjasapara@yahoo.com on Mon, Jul 28, 2003 at 11:23:48PM -0700


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@kernel.crashing.org

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

  reply	other threads:[~2003-07-29 15:15 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-07-29  6:23 "alloc_area_pte: page already exists" Kalpesh Jasapara
2003-07-29 15:15 ` Matt Porter [this message]
2003-07-31 18:48   ` Xupei Liang
  -- strict thread matches above, loose matches on Subject: below --
2003-07-22  1:06 Xupei Liang
2003-07-22  1:28 ` Matt Porter
2003-07-22  2:01   ` Xupei Liang
2003-07-22  3:10     ` Matt Porter
2003-07-23  1:18       ` Xupei Liang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20030729081526.A26346@home.com \
    --to=mporter@kernel.crashing.org \
    --cc=kjasapara@yahoo.com \
    --cc=linuxppc-embedded@lists.linuxppc.org \
    --cc=tliang@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).