linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Dan Malek <dan@embeddededge.com>
To: ming lei <mlei30@yahoo.com>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: double kernel page table entry for the same physical page?!
Date: Wed, 13 Jul 2005 14:27:08 -0700	[thread overview]
Message-ID: <2c008f2a8b3ef3ba33ec3d0f8a5c3390@embeddededge.com> (raw)
In-Reply-To: <20050713201022.69351.qmail@web61023.mail.yahoo.com>


On Jul 13, 2005, at 1:10 PM, ming lei wrote:

> Question: does the linux ever touch this section of
> page table(virt address from PAGE_OFFSET to
> PAGE_OFFSET+A) again? like remove or modify one of the
> entry?

Not usually.  We used to do it on 8xx for mapping
uncached pages for coherent DMA.

> Question: For every physical page, it should already
> be mapped in #1, but vmalloc maps it again to a virt
> address higher. Does it mean in kernel page table, we
> may have two PTE entries pointing to the same physical
> page, even their virt addresses are different?

Yep.

> Last question:
> If this is true, is this platform implemention
> specific? Does i386 implemention have same situation?

Other architectures will do the same, yes.  The
level to which they do this will vary depending upon
architectural features we have to hide/expose to
other functions.

One potential problem that arises is you have to be
careful about the virtual address access path to these
pages.  All processors will behave errantly if you
access the same physical page, but with different
attributes, through the different VAs.  How they behave
will depend upon the attributes.  If the PTEs have
different cache modes or page sizes, it's usually
a big problem.  If they just share different write
permissions, it's usually OK.  These problems usually
arise when device driver writers either don't understand
the mapping issues or try something that may work
on one architecture but not on another.


	-- Dan

  reply	other threads:[~2005-07-13 21:27 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-07-13 20:10 double kernel page table entry for the same physical page?! ming lei
2005-07-13 21:27 ` Dan Malek [this message]
2005-07-13 21:48   ` ming lei
2005-07-13 22:36     ` Dan Malek
2005-07-14  1:57       ` ming lei
2005-07-14  7:15         ` Pantelis Antoniou

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=2c008f2a8b3ef3ba33ec3d0f8a5c3390@embeddededge.com \
    --to=dan@embeddededge.com \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=mlei30@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).