linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: linux@arm.linux.org.uk (Russell King - ARM Linux)
To: linux-arm-kernel@lists.infradead.org
Subject: Unnecessary cache-line flush on page table updates ?
Date: Tue, 5 Jul 2011 15:15:10 +0100	[thread overview]
Message-ID: <20110705141510.GG8286@n2100.arm.linux.org.uk> (raw)
In-Reply-To: <20110705135424.GC32718@e102109-lin.cambridge.arm.com>

On Tue, Jul 05, 2011 at 02:54:24PM +0100, Catalin Marinas wrote:
> On Tue, Jul 05, 2011 at 11:48:58AM +0100, Russell King - ARM Linux wrote:
> > On Tue, Jul 05, 2011 at 10:26:00AM +0100, Catalin Marinas wrote:
> > > AFAIK the branch predictor is transparent on Cortex-A9 and the BTB
> > > maintenance are no-ops. You wouldn't notice any issues if you remove
> > > them (you can check ID_MMFR1[31:28].
> > 
> > It's not transparent:
> > 
> > CPU: MMFR0=0x00100103 MMFR1=0x20000000 MMFR2=0x01230000 MMFR3=0x00102111
> > 
> > 0b0010 Branch predictor requires flushing on:
> > 	? enabling or disabling the MMU
> > 	? writing new data to instruction locations
> > 	? writing new mappings to the translation tables
> > 	? any change to the TTBR0, TTBR1, or TTBCR registers without a
> > 	  corresponding change to the FCSE ProcessID or ContextID.
> 
> OK, it makes sense. But what's really confusing - the A8 has the same
> value for ID_MMFR1 (according to the TRM) but the BTB instructions are
> no-ops (can can be enabled by the ACTLR.IBE bit). I suspect the ID_MMFR1
> is wrong in this case.

Grumble.  This kind of thing worries me.

If the ID registers are wrong, then they can't be relied upon by software
making decisions about what can be skipped.  So how can we be confident
that MMFR3 23:20 != 0 really does mean that we don't need to clean the
cache when writing the page tables, and is not a result of some bug?

  reply	other threads:[~2011-07-05 14:15 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
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 [this message]
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=20110705141510.GG8286@n2100.arm.linux.org.uk \
    --to=linux@arm.linux.org.uk \
    --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).