From: Russell King <rmk+lkml@arm.linux.org.uk>
To: Arnd Bergmann <arnd@arndb.de>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org
Subject: Re: [PATCH] asm-generic: add dma-mapping-linear.h
Date: Mon, 1 Jun 2009 11:58:51 +0100 [thread overview]
Message-ID: <20090601105851.GB25391@flint.arm.linux.org.uk> (raw)
In-Reply-To: <200906011141.33463.arnd@arndb.de>
On Mon, Jun 01, 2009 at 11:41:32AM +0100, Arnd Bergmann wrote:
> On Monday 01 June 2009, Russell King wrote:
>
> > So, on a non-DMA coherent cache architecture, when DMA is normally
> > performed the data ends up in RAM with the cache flushed for that
> > region. If, instead dma_map_single uses a bounce buffer to do that
> > DMA, then the same needs to be true of the original buffer - the
> > data needs to be in RAM with the cache flushed.
>
> While this seems logical from a correctness perspective, I would
> like to understand why it actually matters. Flushing the cache on
> the original buffer will impact performance but doesn't generally
> make a difference to users. In cases where you need the cache
> to be flushed for aliasing reasons (VIPT caches...), the architecture
> specific code should flush that buffer somewhere, but do we really
> need to flush it for all architectures?
I didn't say "for all architectures". I said that the end conditions
need to be the same no matter how DMA is done.
And yes, it does matter with some cache types. VIPT aliasing caches
and VIVT caches both need to ensure that condition is met, otherwise
userspace doesn't see the data.
While we can hand-wave and say "some other part of the code should
handle this" I've had that disucssion several times, and that's where
this requirement eventually was stated. And, really, I'm not going
to re-discuss it yet again - I really don't have time or motivation
at present to be involved in yet another hand-waving egotistical
debate over it.
Last time I got accused of not being helpful because I wouldn't test
a patch - and the reason I couldn't test the patch was because I don't
have the hardware which exhibited the problem. Duh.
So, let's leave sleeping dogs to continue their deep sleep.
--
Russell King
Linux kernel 2.6 ARM Linux - http://www.arm.linux.org.uk/
maintainer of:
next prev parent reply other threads:[~2009-06-01 10:59 UTC|newest]
Thread overview: 36+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-05-28 20:04 [PATCH] asm-generic: add dma-mapping-linear.h Arnd Bergmann
2009-06-01 4:02 ` FUJITA Tomonori
2009-06-01 7:51 ` Russell King
2009-06-01 8:08 ` FUJITA Tomonori
2009-06-01 8:29 ` Russell King
2009-06-01 8:29 ` Russell King
2009-06-01 9:16 ` FUJITA Tomonori
2009-06-01 9:22 ` Russell King
2009-06-01 9:32 ` FUJITA Tomonori
2009-06-01 10:14 ` Russell King
2009-06-01 10:41 ` Arnd Bergmann
2009-06-01 10:58 ` Russell King [this message]
2009-06-01 11:42 ` Arnd Bergmann
2009-06-01 10:28 ` Arnd Bergmann
2009-06-01 10:43 ` Russell King
2009-06-01 10:48 ` Arnd Bergmann
2009-06-01 10:11 ` Arnd Bergmann
2009-06-01 13:08 ` Michal Simek
2009-06-01 16:45 ` Arnd Bergmann
2009-06-02 11:11 ` Michal Simek
2009-06-04 7:57 ` FUJITA Tomonori
2009-06-04 12:35 ` Arnd Bergmann
2009-06-04 12:51 ` Russell King
2009-06-04 13:42 ` Arnd Bergmann
2009-06-04 14:38 ` Russell King
2009-06-04 14:49 ` Russell King
2009-06-04 16:29 ` Arnd Bergmann
2009-06-04 15:05 ` FUJITA Tomonori
2009-06-04 16:47 ` Arnd Bergmann
2009-06-04 20:11 ` Geert Uytterhoeven
2009-06-08 5:49 ` FUJITA Tomonori
2009-06-08 8:03 ` Arnd Bergmann
2009-06-08 8:23 ` FUJITA Tomonori
2009-06-08 8:49 ` Arnd Bergmann
2009-06-08 8:49 ` Arnd Bergmann
2009-06-04 12:45 ` Russell King
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=20090601105851.GB25391@flint.arm.linux.org.uk \
--to=rmk+lkml@arm.linux.org.uk \
--cc=arnd@arndb.de \
--cc=fujita.tomonori@lab.ntt.co.jp \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.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