linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: Unnecessary cache-line flush on page table updates ?
Date: Fri, 1 Jul 2011 11:10:19 +0100	[thread overview]
Message-ID: <20110701101019.GA1723@e102109-lin.cambridge.arm.com> (raw)
In-Reply-To: <BANLkTin7aJXjpEH_WzJi5zaAtH8kFcTZeg@mail.gmail.com>

On Fri, Jul 01, 2011 at 08:04:42AM +0100, heechul Yun wrote:
> Based on TRM of Cortex A9, the MMU reads page table entries from L1-D
> cache not from memory. Then I think we do not need to flush the cache
> line in the following code because MMU will always see up-to-date view
> of page table in both UP and SMP systems.
> 
> linux/arch/arm/mm/proc-v7.S
> 
> ENTRY(cpu_v7_set_pte_ext)
> 	...
>         mcr     p15, 0, r0, c7, c10, 1          @ flush_pte from
> D-cache // why we need this in A9?
>         ?
> 
> If this is a necessary one, could you please explain the reason? Thanks.

No, it's not necessary, only that this file is used by other processors
as well. The solution below checks the ID_MMFR3[23:20] bits (coherent
walk) and avoid flushing if the value is 1. The same could be done for
PMD entries, though that's less critical than the PTEs.

Please note that the patch is not fully tested.

8<--------------------

  reply	other threads:[~2011-07-01 10:10 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-07-01  7:04 Unnecessary cache-line flush on page table updates ? heechul Yun
2011-07-01 10:10 ` Catalin Marinas [this message]
2011-07-01 21:42   ` heechul Yun
2011-07-04  9:45     ` Catalin Marinas
2011-07-04 10:02       ` Russell King - ARM Linux
2011-07-04 10:43         ` Catalin Marinas
2011-07-04 11:13           ` Russell King - ARM Linux
2011-07-04 15:58             ` Catalin Marinas
2011-07-04 19:58               ` Russell King - ARM Linux
2011-07-04 23:20                 ` Russell King - ARM Linux
2011-07-06 16:05                   ` Catalin Marinas
2011-07-06 18:08                     ` Russell King - ARM Linux
2011-07-11 16:49                       ` Catalin Marinas
2011-07-11 17:01                         ` Russell King - ARM Linux
2011-07-12 13:09                           ` Catalin Marinas
2011-07-15 16:24                             ` Russell King - ARM Linux
2011-07-05 10:07                 ` Catalin Marinas
2011-07-04 21:55             ` Russell King - ARM Linux
2011-07-05  9:26               ` Catalin Marinas
2011-07-05  9:46                 ` Russell King - ARM Linux
2011-07-06 15:52                   ` Catalin Marinas
2011-07-06 15:55                     ` Russell King - ARM Linux
2011-07-06 16:15                       ` Catalin Marinas
2011-07-05 10:48                 ` Russell King - ARM Linux
2011-07-05 13:54                   ` Catalin Marinas
2011-07-05 14:15                     ` Russell King - ARM Linux
2011-07-05 14:40                       ` Catalin Marinas
2011-07-04 13:05           ` Russell King - ARM Linux
2011-07-04 13:15             ` Catalin Marinas
2011-07-04 14:59       ` heechul Yun
2011-07-04 21:24     ` heechul Yun

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=20110701101019.GA1723@e102109-lin.cambridge.arm.com \
    --to=catalin.marinas@arm.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).