public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Russell King <rmk@arm.linux.org.uk>
To: Jamie Lokier <jamie@shareable.org>
Cc: "Paul J.Y. Lahaie" <pjlahaie@steamballoon.com>,
	linux-kernel@vger.kernel.org
Subject: Re: x86, ARM, PARISC, PPC, MIPS and Sparc folks please run this
Date: Mon, 1 Sep 2003 15:17:10 +0100	[thread overview]
Message-ID: <20030901151710.A22682@flint.arm.linux.org.uk> (raw)
In-Reply-To: <20030901101224.GB1638@mail.jlokier.co.uk>; from jamie@shareable.org on Mon, Sep 01, 2003 at 11:12:24AM +0100

On Mon, Sep 01, 2003 at 11:12:24AM +0100, Jamie Lokier wrote:
> Russell King wrote:
> > This looks like an old kernel on your NetWinder.  Later 2.4 kernels
> > should get this right (by marking the pages uncacheable in user space.)
> 
> How do they know which pages to mark uncacheable?  Surely not all
> MAP_SHARED|MAP_FIXED mappings are uncacheable?

By looking at the mappings present in the process.  If a process maps the
same file using MAP_SHARED _and_ we fault the same page of data into two
or more mappings, we turn off the cache for those pages.

We actually only turn off the cache and leave the write buffer (aka your
store buffer) turned on for these regions, which should be sufficient for
it to remain coherent between different virtual addresses.

I've been doing some further investigation, and I'm now of the opinion
that "SA110" StrongARM chips have buggy write buffers, because:

- if I turn off the cache, leaving the write buffer on, this program
  works on StrongARM-1110 CPUs but not some StrongARM-110 CPUs.
- if I turn off the cache and write buffer on these twice-mapped pages,
  StrongARM-110 behaves as expected.

I've tested on several silicon revisions of StrongARM-110's:
- H appears buggy (reports as rev. 2)
- K appears fine (reports as rev. 2)
- S appears buggy (reports as rev. 3)

Unfortunately, the written documentation makes zero mention of the exact
write buffer behaviour.  The best that I have to go on for the
StrongARM-110 is a block diagram which indicates that the write buffer
uses physical addresses, and that the D-cache contains the physical
address which the line was fetched from for writeback (via the write
buffer.)

So it seems your test program finds problems which DaveM's aliastest
program fails to detect...  Gah. ;(

I guess its time to devise a kernel test and alter our behaviour on ARM
accordingly.

-- 
Russell King (rmk@arm.linux.org.uk)                The developer of ARM Linux
             http://www.arm.linux.org.uk/personal/aboutme.html


  parent reply	other threads:[~2003-09-01 14:17 UTC|newest]

Thread overview: 106+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-08-29  5:35 x86, ARM, PARISC, PPC, MIPS and Sparc folks please run this Jamie Lokier
2003-08-29 10:03 ` J.A. Magallon
2003-08-29 10:36   ` Alan Cox
2003-09-01  4:49   ` Jamie Lokier
2003-08-29 10:04 ` Sergey S. Kostyliov
2003-08-29 10:15 ` J.A. Magallon
2003-08-29 10:21 ` J.A. Magallon
2003-08-29 10:34 ` CaT
2003-08-29 10:37 ` CaT
2003-08-29 10:49 ` Mikael Pettersson
2003-08-29 11:41 ` Gianni Tedesco
2003-08-29 11:51 ` James Morris
2003-08-29 15:41 ` Larry McVoy
2003-08-29 23:05   ` Mike Fedyk
2003-08-31  5:10     ` David S. Miller
2003-08-31 22:49       ` Jamie Lokier
2003-09-01  5:31         ` David S. Miller
2003-09-01  6:42           ` Jamie Lokier
2003-09-01  7:06             ` David S. Miller
2003-09-01  8:29               ` Jamie Lokier
2003-09-01  9:02                 ` David S. Miller
2003-09-01 10:04                   ` Jamie Lokier
2003-09-01 10:02                     ` David S. Miller
2003-09-03 17:36                   ` bill davidsen
2003-09-04 22:50                     ` Jamie Lokier
2003-09-01  5:44   ` Jamie Lokier
2003-09-01 14:43     ` Larry McVoy
2003-09-01 16:33       ` Jamie Lokier
2003-09-01 16:58         ` Larry McVoy
2003-09-02 20:29       ` Jamie Lokier
2003-08-29 15:47 ` Herbert Poetzl
2003-08-30  1:48   ` Stuart Longland
2003-08-29 16:27 ` Geert Uytterhoeven
2003-09-01  5:58   ` Jamie Lokier
2003-09-01  8:34     ` Geert Uytterhoeven
2003-09-01  9:09       ` Kars de Jong
2003-09-01 10:08         ` Jamie Lokier
2003-09-01 11:13           ` Roman Zippel
2003-09-02 20:42           ` Kars de Jong
2003-09-02 21:39             ` Jamie Lokier
2003-09-03  7:59             ` Geert Uytterhoeven
2003-09-03  9:13               ` Jamie Lokier
2003-09-03  9:26                 ` Geert Uytterhoeven
2003-09-03 12:17                   ` Roman Zippel
2003-09-03 12:36                     ` Geert Uytterhoeven
2003-09-03 13:29                       ` Jamie Lokier
2003-09-03 16:07                         ` Nagendra Singh Tomar
2003-09-04  5:03                           ` Davide Libenzi
2003-09-03 18:03                             ` Nagendra Singh Tomar
2003-09-04  6:38                               ` Davide Libenzi
2003-09-04 11:19                           ` Alan Cox
2003-09-05 21:24                             ` Pavel Machek
2003-09-06 23:09                               ` Jamie Lokier
2003-09-07 13:10                                 ` Pavel Machek
2003-09-07 13:35                                   ` Jamie Lokier
2003-09-07 13:40                                     ` Pavel Machek
2003-09-07 13:53                                       ` Jamie Lokier
2003-09-07 17:56                                         ` Alan Cox
2003-09-03 12:13               ` Jan-Benedict Glaw
2003-09-01 10:35       ` Sam Creasey
2003-09-01 10:48         ` Jamie Lokier
2003-09-01 12:23           ` Sam Creasey
2003-09-03  8:00       ` Kars de Jong
2003-09-03  8:05         ` Geert Uytterhoeven
2003-09-03  9:24           ` Kars de Jong
2003-08-29 16:31 ` Brian Jackson
2003-08-29 17:39 ` Matt Porter
2003-09-01  6:00   ` Jamie Lokier
2003-09-01 11:17     ` Alan Cox
2003-09-01 17:22     ` Roland Dreier
2003-09-02  2:16       ` Matt Porter
2003-09-02  5:40         ` Jamie Lokier
2003-08-29 19:37 ` Thorsten Kranzkowski
2003-08-29 20:03 ` Sean Neakums
2003-08-29 20:14 ` Iulian Musat
2003-08-29 20:26 ` Paul J.Y. Lahaie
2003-09-01  8:15   ` Russell King
2003-09-01 10:12     ` Jamie Lokier
2003-09-01 11:30       ` Geert Uytterhoeven
2003-09-01 14:17       ` Russell King [this message]
2003-09-01 14:51         ` Russell King
2003-09-01 19:09           ` Guennadi Liakhovetski
2003-09-01 16:52         ` Jamie Lokier
2003-09-01 17:11           ` Russell King
2003-09-02  5:34             ` Jamie Lokier
2003-09-02  8:15               ` Russell King
2003-09-02 11:57                 ` Jamie Lokier
2003-09-02 18:52                   ` Russell King
2003-09-02 23:59                     ` Larry McVoy
2003-09-03  7:31                       ` Russell King
2003-09-03  7:41                         ` Jamie Lokier
2003-09-03 18:05                           ` Russell King
2003-09-04 22:20                             ` Jamie Lokier
2003-09-04 17:37       ` Maciej W. Rozycki
2003-08-29 22:35 ` Kenneth Johansson
2003-08-29 23:47 ` Kurt Wall
2003-09-01  0:24 ` Paul Mundt
2003-09-01  0:37   ` Jamie Lokier
2003-09-01  1:00     ` Paul Mundt
2003-09-01  1:58       ` Jamie Lokier
2003-09-01  1:13 ` dean gaudet
2003-09-01  4:29   ` Jamie Lokier
2003-09-02 10:08 ` Jan Rychter
     [not found] <20030829053510.GA12663@mail.jlokier.co.uk.suse.lists.linux.kernel>
2003-08-29 11:08 ` Andi Kleen
2003-08-29 11:17   ` Russell King
2003-09-01  5:03   ` Jamie Lokier

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=20030901151710.A22682@flint.arm.linux.org.uk \
    --to=rmk@arm.linux.org.uk \
    --cc=jamie@shareable.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pjlahaie@steamballoon.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