From: catalin.marinas@arm.com (Catalin Marinas)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 06/17] ARM: dma-mapping: fix for speculative accesses
Date: Tue, 24 Nov 2009 16:47:41 +0000 [thread overview]
Message-ID: <1259081261.16239.28.camel@pc1117.cambridge.arm.com> (raw)
In-Reply-To: <20091123172722.GE18142@n2100.arm.linux.org.uk>
On Mon, 2009-11-23 at 17:27 +0000, Russell King - ARM Linux wrote:
> On Mon, Nov 23, 2009 at 05:25:06PM +0200, saeed bishara wrote:
> > > + if (dir == DMA_FROM_DEVICE) {
> > > + outer_inv_range(paddr, paddr + size);
> > > + dmac_inv_range(kaddr, kaddr + size);
> > it's not clear why outer cache invalidated before inner cache, and, I
> > think that it may be incorrect, how can you be sure that a dirty line
> > that is in inner cache can't be moved down to outer cache?
>
> I think you have a point, but also see Catalin's point. When we are
> invalidating, we have to invalidate the outer caches before the inner
> caches, otherwise there is a danger that the inner caches could
> prefetch from the outer between the two operations.
Good point. In the cpu_to_dev case, we can invalidate the inner cache
before the outer cache as it may be faster than cleaning. We also don't
care about speculative fetches at this point, only about random cache
line evictions.
In the dev_to_cpu case, we must invalidate the outer cache before the
inner cache.
Otherwise I'm ok with the patch.
--
Catalin
next prev parent reply other threads:[~2009-11-24 16:47 UTC|newest]
Thread overview: 67+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-20 18:25 [PATCH 0/7] dma-mapping: Cortex A9 speculative prefetch fixes Russell King - ARM Linux
2009-11-20 18:01 ` [PATCH 1/7] ARM: provide phys_to_page() to complement page_to_phys() Russell King - ARM Linux
2009-11-23 12:05 ` Catalin Marinas
2009-11-20 18:02 ` [PATCH 2/7] ARM: dma-mapping: simplify page_to_dma() and __pfn_to_bus() Russell King - ARM Linux
2009-11-23 12:05 ` [PATCH 2/7] ARM: dma-mapping: simplify page_to_dma() and__pfn_to_bus() Catalin Marinas
2009-12-12 14:01 ` [PATCH 2/7] ARM: dma-mapping: simplify page_to_dma() and __pfn_to_bus() Anders Grafström
2009-12-12 14:37 ` Russell King - ARM Linux
2009-12-14 18:47 ` Anders Grafström
2009-11-20 18:03 ` [PATCH 3/7] ARM: dma-mapping: provide dma_to_page() Russell King - ARM Linux
2009-11-20 18:04 ` [PATCH 4/7] ARM: dma-mapping: split dma_unmap_page() from dma_unmap_single() Russell King - ARM Linux
2009-11-20 18:05 ` [PATCH 5/7] ARM: dma-mapping: use the idea of buffer ownership Russell King - ARM Linux
2009-11-20 18:06 ` [PATCH 6/7] ARM: dma-mapping: fix for speculative accesses Russell King - ARM Linux
2009-11-23 12:03 ` Catalin Marinas
2009-11-23 12:08 ` Russell King - ARM Linux
2009-11-23 13:38 ` [PATCH v2 06/17] " Russell King - ARM Linux
2009-11-23 15:25 ` saeed bishara
2009-11-23 17:27 ` Russell King - ARM Linux
2009-11-24 15:46 ` saeed bishara
2009-11-24 16:22 ` Russell King - ARM Linux
2009-11-24 16:40 ` saeed bishara
2009-11-24 16:48 ` Catalin Marinas
2009-11-24 17:02 ` Russell King - ARM Linux
2009-11-24 19:12 ` Nicolas Pitre
2009-11-25 12:12 ` Mark Brown
2009-11-24 16:47 ` Catalin Marinas [this message]
2009-11-24 20:00 ` Russell King - ARM Linux
2009-11-24 20:35 ` Nicolas Pitre
2009-11-24 21:01 ` Russell King - ARM Linux
2009-11-24 21:46 ` saeed bishara
2009-11-25 12:14 ` Catalin Marinas
2009-11-25 16:26 ` Russell King - ARM Linux
2009-11-26 13:21 ` Ronen Shitrit
2009-11-20 18:07 ` [PATCH 7/7] ARM: dma-mapping: no need to clean overlapping cache lines on invalidate Russell King - ARM Linux
2009-11-22 22:16 ` Nicolas Pitre
2009-11-23 10:26 ` Russell King - ARM Linux
2009-11-23 12:09 ` [PATCH 7/7] ARM: dma-mapping: no need to clean overlapping cachelines " Catalin Marinas
2009-11-23 13:30 ` Russell King - ARM Linux
2009-11-23 13:38 ` [PATCH v2 07/17] ARM: dma-mapping: no need to clean overlapping cache lines " Russell King - ARM Linux
2009-11-23 19:35 ` Nicolas Pitre
2009-11-25 12:19 ` Catalin Marinas
2009-11-25 16:31 ` Russell King - ARM Linux
2009-11-25 17:02 ` [PATCH v2 07/17] ARM: dma-mapping: no need to cleanoverlapping " Catalin Marinas
2009-11-25 17:34 ` [PATCH v2 07/17] ARM: dma-mapping: no need to clean overlapping " Russell King - ARM Linux
2009-11-21 14:00 ` [PATCH 0/7] dma-mapping: Cortex A9 speculative prefetch fixes Jamie Iles
2009-11-23 10:29 ` Russell King - ARM Linux
2010-01-13 6:37 ` muni anda
2010-01-13 8:42 ` Russell King - ARM Linux
2009-11-21 17:56 ` Rajanikanth H.V
2009-11-21 18:57 ` Russell King - ARM Linux
2009-11-21 19:35 ` [PATCH 0/10] dma-mapping: cleanup coherent/writealloc dma allocations and ARMv7 memory support Russell King - ARM Linux
2009-11-21 19:37 ` [PATCH 01/10] ARM: dma-mapping: split out vmregion code from dma coherent mapping code Russell King - ARM Linux
2009-11-21 19:37 ` [PATCH 02/10] ARM: dma-mapping: functions to allocate/free a coherent buffer Russell King - ARM Linux
2009-11-21 19:37 ` [PATCH 03/10] ARM: dma-mapping: fix coherent arch dma_alloc_coherent() Russell King - ARM Linux
2009-11-21 19:38 ` [PATCH 04/10] ARM: dma-mapping: fix nommu dma_alloc_coherent() Russell King - ARM Linux
2009-11-21 19:38 ` [PATCH 05/10] ARM: dma-mapping: factor dma_free_coherent() common code Russell King - ARM Linux
2009-11-21 19:38 ` [PATCH 06/10] ARM: dma-mapping: move consistent_init into CONFIG_MMU section Russell King - ARM Linux
2009-11-22 0:05 ` Greg Ungerer
2009-11-22 0:16 ` Russell King - ARM Linux
2009-11-21 19:38 ` [PATCH 07/10] ARM: dma-mapping: clean up coherent arch dma allocation Russell King - ARM Linux
2009-11-21 19:39 ` [PATCH 08/10] ARM: dma-mapping: Factor out noMMU dma buffer allocation code Russell King - ARM Linux
2009-11-21 19:39 ` [PATCH 09/10] ARM: dma-mapping: get rid of setting/clearing the reserved page bit Russell King - ARM Linux
2009-11-21 19:39 ` [PATCH 10/10] ARM: dma-mapping: switch ARMv7 DMA mappings to retain 'memory' attribute Russell King - ARM Linux
2009-11-23 12:21 ` [PATCH 10/10] ARM: dma-mapping: switch ARMv7 DMA mappings to retain'memory' attribute Catalin Marinas
2009-11-23 7:10 ` [PATCH 0/10] dma-mapping: cleanup coherent/writealloc dma allocations and ARMv7 memory support Greg Ungerer
2009-11-23 10:26 ` Russell King - ARM Linux
-- strict thread matches above, loose matches on Subject: below --
2012-05-23 21:02 [PATCH v2 06/17] ARM: dma-mapping: fix for speculative accesses Rui Sousa
2012-05-23 23:02 ` Russell King - ARM Linux
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=1259081261.16239.28.camel@pc1117.cambridge.arm.com \
--to=catalin.marinas@arm.com \
--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).