linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: pavel@ucw.cz (Pavel Machek)
To: linux-arm-kernel@lists.infradead.org
Subject: shared memory problem on ARM v5TE using threads
Date: Mon, 21 Dec 2009 08:40:17 +0100	[thread overview]
Message-ID: <20091221074017.GA16130@elf.ucw.cz> (raw)
In-Reply-To: <alpine.LFD.2.00.0912201727210.28241@xanadu.home>

On Sun 2009-12-20 17:32:08, Nicolas Pitre wrote:
> On Sun, 20 Dec 2009, Pavel Machek wrote:
> 
> > On Fri 2009-12-18 14:00:13, Nicolas Pitre wrote:
> > > On Fri, 18 Dec 2009, Pavel Machek wrote:
> > > 
> > > > On Sun 2009-12-13 12:00:33, Russell King - ARM Linux wrote:
> > > > > On Sun, Dec 13, 2009 at 01:48:48PM +0200, Ronen Shitrit wrote:
> > > > > > Another idea is to change the shared mapping handling, in case of vivt with pipt L2, so it won't remap the shared area as non-cacheable:
> > > > > > - make_coherent won't use adjust_pte and leave only the regular flush.
> > > > > > - Flush L1 for all context switches, also for the case that the new process is using same mm (thread context switch).
> > > > > 
> > > > > That doesn't work.
> > > > > 
> > > > > Well, with a VIVT L1, we flush the L1 on all MM switches anyway.
> > > > > Flushing it on any thread switch is not going to help that much.
> > > > > 
> > > > > The problem with shared mmaps is that if you have multiple within the
> > > > > same thread, it is required that they are _all_ coherent with respect
> > > > > to each other, whether or not a context switch has occurred.
> > > > 
> > > > But that's pretty unusual situation, right?
> > > > 
> > > > So what about...
> > > > 
> > > > a) flush L2 on context switch
> > > 
> > > No.  This is too big a performance killer.
> > 
> > Eek?
> > 
> > Alternative is "disable L2". I guess "use L2, but flush it
> > occasionally" is still better than "disable L2".
> > 
> > Of course, it should be measured. It looks like hardware already is
> > braindead, so maybe logic does not work there.
> > 
> > (And it may depend if you want max throughput or min latency).
> 
> Do you own such hardware?

No.

> If no, why do you care?

Curiosity? You spreading statements that seem strange? Me wanting to
understand VIVT caches?

> For your information, a patch has been proposed already which does not 
> imply disabling L2 nor flushing it on every context switches.  Would you 
> care to familiarize yourself with it before commenting further please?

Really? The patch seemed to solve cached vs. uncached accesses, but
did not seem to solve two (cached) mappings of same file.
									Pavel

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

  reply	other threads:[~2009-12-21  7:40 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
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 [this message]
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=20091221074017.GA16130@elf.ucw.cz \
    --to=pavel@ucw.cz \
    --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).