From: benh@kernel.crashing.org (Benjamin Herrenschmidt)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH] ARM: allow, but warn, when issuing ioremap() on RAM
Date: Mon, 18 Oct 2010 10:17:01 +1100 [thread overview]
Message-ID: <1287357421.2370.19.camel@pasglop> (raw)
In-Reply-To: <13B9B4C6EF24D648824FF11BE896716203D76F71F4@dlee02.ent.ti.com>
On Sun, 2010-10-17 at 08:05 -0500, Woodruff, Richard wrote:
> ARM has always been a rawer (and cheaper) environment than many other
> CPU architectures. Until maybe this year coherency was never even an
> option provided in the hardware. The vast majority of the systems
> currently in mass production in 2010 and before don't have coherency.
> The software has to handle all the details.
>
> Starting today and onwards coherency options will start to be seen in
> high end. It seems likely some of the old external IP won't be
> compliant and likely have bugs undercutting it.
>
> People from high ends like x86 and PPC have different expectations and
> problems. Your chip set nightmares are our standard in some areas. In
> my narrow experience PPC pioneered many techniques 15 years back which
> are now just coming into ARM. They are coming in at a much reduced
> power and cost footprint.
This is all quite possible the the fact remains that at the end of the
day, if you're going to have a speculative memory model with prefetch
and your architecture (rightfully so) disallows aliasing of mappings
with different cache attributes, then you are screwed the minute your
devices do non-coherent DMA :-)
As Russell says, the only proper way to do that would be to set aside
memory at boot. That or provide a way to take chunks out of the linear
mapping, which may or may not be possible, I don't know how ARM does it
well enough. On some 32-bit powerpc's unfortunately, that would meant
taking whole 256M chunks out due to the way we implement it.
The main problem is usually related to the linear mapping using some
form of huge pages, I suppose this is the same for you here.
Now of course, you always have the un-satisfactory options of disabling
speculation/prefetch and/or disabling the use of such huge pages in the
linear mapping, which makes unmapping chunks of it a lot easier.
Cheers,
Ben.
next prev parent reply other threads:[~2010-10-17 23:17 UTC|newest]
Thread overview: 101+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-07 9:44 [PATCH] ARM: allow, but warn, when issuing ioremap() on RAM Felipe Contreras
2010-10-07 11:51 ` Baruch Siach
2010-10-07 12:29 ` [PATCH v2] " Felipe Contreras
2010-10-07 18:00 ` Uwe Kleine-König
2010-10-07 19:22 ` [PATCH] " Russell King - ARM Linux
2010-10-08 9:32 ` Felipe Contreras
2010-10-08 17:53 ` Russell King - ARM Linux
2010-10-08 19:37 ` Felipe Contreras
2010-10-08 23:04 ` Russell King - ARM Linux
2010-10-08 23:25 ` Greg KH
2010-10-08 23:44 ` Russell King - ARM Linux
2010-10-09 0:00 ` Greg KH
2010-10-09 0:25 ` Russell King - ARM Linux
2010-10-09 0:54 ` Greg KH
2010-10-09 2:41 ` Nicolas Pitre
2010-10-09 3:04 ` Greg KH
2010-10-09 9:32 ` Felipe Contreras
2010-10-11 10:05 ` Catalin Marinas
2010-10-11 10:39 ` Felipe Contreras
2010-10-11 10:52 ` Russell King - ARM Linux
2010-10-11 11:23 ` Catalin Marinas
2010-10-11 12:03 ` Felipe Contreras
2010-10-11 12:30 ` Catalin Marinas
2010-10-11 22:53 ` Nicolas Pitre
2010-10-14 15:02 ` Felipe Contreras
2010-10-14 17:18 ` Catalin Marinas
2010-10-14 17:44 ` Felipe Contreras
2010-10-11 11:01 ` Pawel Moll
2010-10-11 11:03 ` Catalin Marinas
2010-10-16 2:39 ` Benjamin Herrenschmidt
2010-10-16 9:43 ` Felipe Contreras
2010-10-09 0:10 ` Russell King - ARM Linux
2010-10-09 0:56 ` Felipe Contreras
2010-10-09 9:21 ` Russell King - ARM Linux
2010-10-09 10:28 ` Felipe Contreras
2010-10-09 11:11 ` Arnd Bergmann
2010-10-09 11:43 ` Dave Airlie
2010-10-09 11:55 ` Christoph Hellwig
2010-10-09 12:17 ` Felipe Contreras
2010-10-09 12:10 ` Felipe Contreras
2010-10-09 14:37 ` Russell King - ARM Linux
2010-10-09 16:18 ` Felipe Contreras
2010-10-09 11:44 ` Uwe Kleine-König
2010-10-09 12:05 ` Russell King - ARM Linux
2010-10-09 11:59 ` Felipe Contreras
2010-10-09 14:43 ` Arnd Bergmann
2010-10-09 18:59 ` Guennadi Liakhovetski
2010-10-10 1:52 ` Felipe Contreras
2010-10-11 8:35 ` Uwe Kleine-König
2010-10-11 9:02 ` Russell King - ARM Linux
2010-10-11 9:24 ` Uwe Kleine-König
2010-10-11 10:08 ` Felipe Contreras
2010-10-11 10:15 ` Russell King - ARM Linux
2010-10-11 15:25 ` Russell King - ARM Linux
2010-10-14 14:47 ` Felipe Contreras
2010-10-19 8:13 ` Colin Cross
2010-10-19 18:12 ` Russell King - ARM Linux
2010-10-19 19:21 ` Russell King - ARM Linux
2010-11-23 9:43 ` [PATCH] ARM: mx3/pcm037: properly allocate memory for mx3-camera Uwe Kleine-König
2010-11-23 10:12 ` Russell King - ARM Linux
2010-11-23 10:26 ` Uwe Kleine-König
2010-11-23 14:08 ` Alberto Panizzo
2010-11-23 14:17 ` Uwe Kleine-König
2010-11-24 8:02 ` Uwe Kleine-König
2010-12-06 8:33 ` Uwe Kleine-König
2010-12-06 10:14 ` Alberto Panizzo
2010-12-06 10:26 ` Russell King - ARM Linux
2010-12-06 11:37 ` Alberto Panizzo
2010-12-06 11:46 ` Russell King - ARM Linux
2010-12-06 14:09 ` Alberto Panizzo
2010-12-06 14:34 ` Russell King - ARM Linux
2010-12-06 14:54 ` Alberto Panizzo
2010-12-06 16:54 ` Alberto Panizzo
2010-11-23 10:39 ` About multi-line printk and the need (not) to repeat loglevel markers [Was: Re: [PATCH] ARM: mx3/pcm037: properly allocate memory for mx3-camera] Uwe Kleine-König
2010-11-23 10:58 ` Uwe Kleine-König
2010-11-23 22:16 ` Linus Torvalds
2010-11-23 22:33 ` Russell King - ARM Linux
2010-11-23 23:23 ` Joe Perches
2010-11-24 8:17 ` Uwe Kleine-König
2010-11-24 9:09 ` Michał Mirosław
2010-11-23 22:54 ` [PATCH] ARM: mx3/pcm037: properly allocate memory for mx3-camera Guennadi Liakhovetski
2010-10-09 0:45 ` [PATCH] ARM: allow, but warn, when issuing ioremap() on RAM Felipe Contreras
2010-10-09 8:56 ` Russell King - ARM Linux
2010-10-08 23:19 ` Greg KH
2010-10-09 3:36 ` Nicolas Pitre
2010-10-09 10:00 ` Felipe Contreras
2010-10-09 17:38 ` Nicolas Pitre
2010-10-09 20:16 ` Felipe Contreras
2010-10-13 16:17 ` Woodruff, Richard
2010-10-14 13:48 ` Felipe Contreras
2010-10-14 15:29 ` Woodruff, Richard
2010-10-16 2:36 ` Benjamin Herrenschmidt
2010-10-17 13:05 ` Woodruff, Richard
2010-10-17 23:17 ` Benjamin Herrenschmidt [this message]
2010-10-08 19:58 ` Andrew Morton
2010-10-09 13:52 ` Russell King - ARM Linux
2010-10-09 16:07 ` Felipe Contreras
2010-10-09 16:45 ` Russell King - ARM Linux
2010-10-09 19:25 ` Felipe Contreras
2010-10-10 14:23 ` Pedanekar, Hemant
2010-10-11 9:26 ` Catalin Marinas
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=1287357421.2370.19.camel@pasglop \
--to=benh@kernel.crashing.org \
--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).