From: hs@denx.de (Heiko Schocher)
To: linux-arm-kernel@lists.infradead.org
Subject: shared memory problem on ARM v5TE using threads
Date: Mon, 07 Dec 2009 13:24:13 +0100 [thread overview]
Message-ID: <4B1CF3ED.9080307@denx.de> (raw)
In-Reply-To: <20091207114218.GA19348@n2100.arm.linux.org.uk>
Hello Russell,
Russell King - ARM Linux wrote:
> On Mon, Dec 07, 2009 at 01:31:41PM +0200, saeed bishara wrote:
[...]
>>> If there's no problem with C=0 B=1 mappings on Kirkwood, I've no idea
>>> what's going on, and I don't have any suggestion on what to try next.
>>>
>>> The log shows that the kernel is doing the right thing: when we detect
>>> two mappings for the same page in the same MM space, we clean and
>>> invalidate any existing cacheable mappings visible in the MM space
>>> (both L1 and L2), and switch all visible mappings to C=0 B=1 mappings.
>>> This makes the area non-cacheable.
>> what about the PTE of the MM space of the write process? if it remains
>> C=1 B=1, then it's data will be at the L2, and as the L2 is not
>> flushed on context switch, then that explains this behavior.
>
> That's probably the issue, and it means that _all_ shared writable
> mappings on your processor will be broken.
Hmm.. I tried also the testprg with CACHE_FEROCEON_L2 deaktivated,
same result ...
> Oh dear, that really is bad news.
Indeed.
> There are two solutions to this which I can currently think of:
> 1. flush the L2 cache on every context switch
To clarify, the testprg runs fine, if I start 4 processes each with
only one read thread. In this case all works as expected. The mess
begins only, if one read process starts more than one read thread ...
> 2. make all shared writable mappings non-cacheable
>
> Neither of those two options appeals. Since it's only one set of CPUs
> which are affected, we really don't want to apply any fix for this to the
> generic ARM kernel code - especially when all other L2 caches are sensibly
> implemented as PIPT rather than VIVT.
>
> Can we please forget that Feroceon CPUs exist? ;)
;-)
bye
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
next prev parent reply other threads:[~2009-12-07 12:24 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-12-04 11:23 shared memory problem on ARM v5TE using threads Heiko Schocher
2009-12-04 12:26 ` Joerg Wagner
2009-12-04 13:13 ` Russell King - ARM Linux
2009-12-04 13:42 ` Heiko Schocher
2009-12-04 15:42 ` Russell King - ARM Linux
2009-12-04 15:58 ` Heiko Schocher
2009-12-04 16:38 ` Russell King - ARM Linux
2009-12-04 16:59 ` Russell King - ARM Linux
2009-12-04 17:53 ` Heiko Schocher
2009-12-04 19:13 ` Russell King - ARM Linux
2009-12-04 19:35 ` Heiko Schocher
2009-12-06 13:53 ` Ronen Shitrit
2009-12-06 14:16 ` Russell King - ARM Linux
2009-12-07 7:54 ` Ronen Shitrit
2009-12-07 8:33 ` Heiko Schocher
2009-12-07 11:31 ` saeed bishara
2009-12-07 11:42 ` Russell King - ARM Linux
2009-12-07 12:16 ` Ronen Shitrit
2009-12-07 12:27 ` Heiko Schocher
2009-12-07 12:42 ` Ronen Shitrit
2009-12-07 15:24 ` Nicolas Pitre
2009-12-07 12:24 ` Heiko Schocher [this message]
2009-12-07 12:55 ` Ronen Shitrit
2009-12-07 14:52 ` Russell King - ARM Linux
2009-12-07 15:37 ` Nicolas Pitre
2009-12-07 17:05 ` Russell King - ARM Linux
2009-12-07 17:33 ` Nicolas Pitre
2009-12-07 17:56 ` Russell King - ARM Linux
2009-12-13 11:48 ` Ronen Shitrit
2009-12-13 12:00 ` Russell King - ARM Linux
2009-12-13 12:06 ` Russell King - ARM Linux
2009-12-13 15:42 ` Ronen Shitrit
2009-12-14 13:13 ` christian pellegrin
2009-12-14 14:46 ` Ronen Shitrit
2009-12-14 17:48 ` christian pellegrin
2009-12-14 20:14 ` Nicolas Pitre
2009-12-15 7:50 ` saeed bishara
2009-12-15 11:01 ` christian pellegrin
2009-12-15 15:31 ` christian pellegrin
2009-12-15 17:18 ` Russell King - ARM Linux
2009-12-16 14:08 ` Ronen Shitrit
2009-12-15 17:14 ` Russell King - ARM Linux
2009-12-16 16:35 ` christian pellegrin
2009-12-16 17:38 ` christian pellegrin
2009-12-17 7:35 ` Ronen Shitrit
2009-12-18 20:22 ` Nicolas Pitre
2009-12-18 20:44 ` Russell King - ARM Linux
2009-12-18 21:23 ` Nicolas Pitre
2009-12-18 21:57 ` Russell King - ARM Linux
2009-12-19 11:24 ` christian pellegrin
2009-12-19 11:27 ` [PATCH] Fix coherency problems on ARM v5 with L2 PIPT cache Christian Pellegrin
2009-12-14 19:59 ` shared memory problem on ARM v5TE using threads Nicolas Pitre
2009-12-15 10:33 ` christian pellegrin
2009-12-18 18:45 ` Pavel Machek
2009-12-18 19:00 ` Nicolas Pitre
2009-12-20 19:51 ` Pavel Machek
2009-12-20 22:32 ` Nicolas Pitre
2009-12-21 7:40 ` Pavel Machek
2009-12-18 19:16 ` Russell King - ARM Linux
2009-12-20 19:56 ` Pavel Machek
2009-12-17 11:31 ` Heiko Schocher
2009-12-18 8:08 ` christian pellegrin
2009-12-07 15:40 ` Russell King - ARM Linux
2009-12-07 15:57 ` Nicolas Pitre
2009-12-07 16:06 ` Ronen Shitrit
2009-12-07 17:17 ` Russell King - ARM Linux
2009-12-04 17:25 ` Nicolas Pitre
2009-12-04 17:31 ` Russell King - ARM Linux
2009-12-04 17:47 ` Heiko Schocher
2009-12-04 17:56 ` Nicolas Pitre
2009-12-04 19:33 ` Heiko Schocher
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=4B1CF3ED.9080307@denx.de \
--to=hs@denx.de \
--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).