From: Nick Piggin <npiggin@suse.de>
To: David Woodhouse <dwmw2@infradead.org>
Cc: "Marc Gauthier" <marc@tensilica.com>,
"Mike Frysinger" <vapier.adi@gmail.com>,
"Dmitry Torokhov" <dmitry.torokhov@gmail.com>,
"Johannes Weiner" <jw@emlix.com>,
"Christoph Lameter" <cl@linux.com>,
"Pekka Enberg" <penberg@cs.helsinki.fi>,
"Matt Mackall" <mpm@selenic.com>,
"Andrew Morton" <akpm@linux-foundation.org>,
"Oskar Schirmer" <os@emlix.com>,
"Michael Hennerich" <Michael.Hennerich@analog.com>,
"linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Daniel Glöckner" <dg@emlix.com>,
"Oliver Schneidewind" <osw@emlix.com>,
"David Rientjes" <rientjes@google.com>,
"David Brownell" <dbrownell@users.sourceforge.net>,
"Grant Likely" <grant.likely@secretlab.ca>,
"Chris Zankel" <chris@zankel.net>,
"Piet Delaney" <Piet.Delaney@tensilica.com>
Subject: Re: [LKML] Re: [PATCH v3] ad7877: keep dma rx buffers in seperate cache lines
Date: Wed, 19 May 2010 23:07:10 +1000 [thread overview]
Message-ID: <20100519130710.GX2516@laptop> (raw)
In-Reply-To: <1274273325.6930.10022.camel@macbook.infradead.org>
On Wed, May 19, 2010 at 01:48:45PM +0100, David Woodhouse wrote:
> On Wed, 2010-05-12 at 13:03 +1000, Nick Piggin wrote:
> > I don't think it's necessarily a good idea. MINALIGN is an enforced
> > minimum alignment and the allocator has no leeway in reducing this.
> > In a UP system, or in a memory constrained system, it might be a better
> > idea to pack objects more tightly, for example.
> >
> > If we allow drivers to assume kmalloc is cacheline aligned, it will be
> > (practically) impossible to revert this because it would require driver
> > audits.
>
> No, we definitely don't, and shouldn't, allow drivers to assume that
> kmalloc is cacheline-aligned.
Good.
> However, we _do_ allow drivers to assume that kmalloc is DMA-safe. That
> happens to mean "cacheline-aligned" for cache-incoherent architectures,
> but drivers should never really have to think about that.
DMA-safe for GFP_DMA, or all kmalloc?
Either way, yes the arch should take care of those details.
> > So whenever strengthening API guarantees like this, it is better to be
> > very careful and conservative. Probably even introducing a new API with
> > the stronger semantics (even if it is just a wrapper in the case where
> > KMALLOC_MINALIGNED *is* cacheline sized).
>
> We're not talking about strengthening API guarantees. It's _always_ been
> this way; it's just that some architectures are buggy.
It just appeared, in the post I replied to, that there was a suggestion
of making it explicitly cacheline aligned. If I misread that, ignore
me.
>
> But it looks like ARM, PowerPC, SH, MIPS, Microblaze, AVR32 and all
> unconditionally cache-coherent architectures _do_ get it right already.
>
> > I think adding to the DMA API would be a better idea. If the arch knows
> > that kmalloc is suitable for the job directly, it can be used. Drivers
> > can use the new interface, and kmalloc doesn't get saddled with
> > alignment requirements.
>
> No, that would be a change which would require auditing all drivers. The
> _current_ rule is that buffers returned from kmalloc() are OK for DMA.
>
> --
> David Woodhouse Open Source Technology Centre
> David.Woodhouse@intel.com Intel Corporation
next prev parent reply other threads:[~2010-05-19 13:07 UTC|newest]
Thread overview: 124+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-06 10:37 [PATCH] ad7877: fix spi word size to 16 bit Oskar Schirmer
2010-05-06 10:37 ` Oskar Schirmer
2010-05-06 10:37 ` [PATCH] ad7877: keep dma rx buffers in seperate cache lines Oskar Schirmer
2010-05-06 18:46 ` Mike Frysinger
2010-05-06 18:46 ` Mike Frysinger
2010-05-07 10:15 ` Oskar Schirmer
2010-05-07 10:15 ` Oskar Schirmer
2010-05-07 18:28 ` Mike Frysinger
2010-05-07 18:28 ` Mike Frysinger
2010-05-08 22:32 ` Johannes Weiner
2010-05-08 22:32 ` Johannes Weiner
2010-05-09 4:45 ` Mike Frysinger
2010-05-09 4:45 ` Mike Frysinger
2010-05-09 8:50 ` Oskar Schirmer
2010-05-09 8:50 ` Oskar Schirmer
2010-05-07 12:07 ` Johannes Weiner
2010-05-10 10:34 ` [PATCH v2] " Oskar Schirmer
2010-05-10 10:34 ` Oskar Schirmer
2010-05-10 10:42 ` [PATCH v3] " Oskar Schirmer
2010-05-10 10:42 ` Oskar Schirmer
2010-05-10 16:39 ` Mike Frysinger
2010-05-10 20:54 ` Dmitry Torokhov
2010-05-10 21:22 ` Andrew Morton
2010-05-10 21:27 ` Mike Frysinger
2010-05-11 6:05 ` Dmitry Torokhov
2010-05-11 6:05 ` Dmitry Torokhov
2010-05-11 6:11 ` Mike Frysinger
2010-05-11 6:11 ` Mike Frysinger
2010-05-11 3:20 ` Andrew Morton
2010-05-11 6:21 ` Dmitry Torokhov
2010-05-11 6:23 ` Mike Frysinger
2010-05-11 6:23 ` Mike Frysinger
2010-05-11 6:33 ` Dmitry Torokhov
2010-05-11 6:33 ` Dmitry Torokhov
2010-05-11 6:37 ` Mike Frysinger
2010-05-11 6:42 ` Pekka Enberg
2010-05-11 13:57 ` Christoph Lameter
2010-05-11 16:52 ` Dmitry Torokhov
2010-05-11 17:31 ` Mike Frysinger
2010-05-11 18:59 ` Pekka Enberg
2010-05-11 20:03 ` Mike Frysinger
2010-05-11 20:07 ` Matt Mackall
2010-05-11 20:10 ` Mike Frysinger
2010-05-11 20:10 ` Mike Frysinger
2010-05-11 20:21 ` Christoph Lameter
2010-05-11 20:34 ` Mike Frysinger
2010-05-11 20:38 ` Pekka Enberg
2010-05-11 20:43 ` Mike Frysinger
2010-05-11 20:43 ` Mike Frysinger
2010-05-11 20:47 ` Pekka Enberg
2010-05-13 6:21 ` Paul Mundt
2010-05-11 20:46 ` Christoph Lameter
2010-05-11 20:54 ` Mike Frysinger
2010-05-11 20:54 ` Mike Frysinger
2010-05-11 21:01 ` Pekka Enberg
2010-05-11 21:11 ` Mike Frysinger
2010-05-11 21:11 ` Mike Frysinger
2010-05-12 1:58 ` FUJITA Tomonori
[not found] ` <20100511214836.GH1726@emlix.com>
2010-05-11 21:53 ` Dmitry Torokhov
2010-05-11 22:39 ` Mike Frysinger
2010-05-11 22:39 ` Mike Frysinger
2010-05-12 2:07 ` [LKML] " Marc Gauthier
2010-05-12 3:03 ` Nick Piggin
2010-05-12 3:23 ` FUJITA Tomonori
2010-05-12 4:35 ` Mike Frysinger
2010-05-12 4:35 ` Mike Frysinger
2010-05-12 5:28 ` FUJITA Tomonori
2010-05-12 5:28 ` FUJITA Tomonori
2010-05-12 14:37 ` Mike Frysinger
2010-05-12 14:37 ` Mike Frysinger
2010-05-12 18:11 ` Dmitry Torokhov
2010-05-12 18:28 ` Mike Frysinger
2010-05-12 18:28 ` Mike Frysinger
2010-05-12 10:36 ` Johannes Weiner
2010-05-12 12:35 ` Marc Gauthier
2010-05-12 14:36 ` Mike Frysinger
2010-05-12 14:36 ` Mike Frysinger
2010-05-19 12:48 ` David Woodhouse
2010-05-19 13:07 ` Nick Piggin [this message]
2010-05-19 13:17 ` David Woodhouse
2010-05-19 13:36 ` Nick Piggin
2010-05-19 13:44 ` Johannes Weiner
2010-05-19 13:52 ` Nick Piggin
2010-05-19 14:38 ` FUJITA Tomonori
2010-05-19 14:58 ` David Woodhouse
2010-05-20 4:42 ` FUJITA Tomonori
2010-05-19 16:37 ` Dmitry Torokhov
2010-05-19 15:00 ` Johannes Weiner
2010-05-17 6:12 ` Michal Simek
2010-05-19 13:00 ` David Woodhouse
2010-05-11 22:37 ` Alan Cox
2010-05-11 20:22 ` Pekka Enberg
2010-05-11 14:12 ` Oskar Schirmer
2010-05-11 14:12 ` Oskar Schirmer
2010-05-06 11:18 ` [PATCH] ad7877: fix spi word size to 16 bit Hennerich, Michael
2010-05-06 11:18 ` Hennerich, Michael
2010-05-06 18:26 ` Mike Frysinger
2010-05-06 18:26 ` Mike Frysinger
2010-05-07 9:41 ` Daniel Glöckner
2010-05-07 9:41 ` Daniel Glöckner
2010-05-07 18:23 ` Mike Frysinger
2010-05-07 18:23 ` Mike Frysinger
2010-05-13 7:53 ` Dmitry Torokhov
2010-05-13 7:53 ` Dmitry Torokhov
2010-05-15 18:15 ` Oskar Schirmer
2010-05-15 18:15 ` Oskar Schirmer
2010-05-16 19:25 ` Mike Frysinger
2010-05-16 19:25 ` Mike Frysinger
2010-05-17 7:29 ` Oskar Schirmer
2010-05-17 7:29 ` Oskar Schirmer
2010-05-17 8:14 ` Hennerich, Michael
2010-05-17 8:14 ` Hennerich, Michael
2010-05-17 8:41 ` Oskar Schirmer
2010-05-17 8:41 ` Oskar Schirmer
2010-05-17 23:49 ` Mike Frysinger
2010-05-17 23:49 ` Mike Frysinger
2010-05-18 0:18 ` H Hartley Sweeten
2010-05-18 0:18 ` H Hartley Sweeten
2010-05-18 8:32 ` Oskar Schirmer
2010-05-18 8:32 ` Oskar Schirmer
2010-05-18 9:37 ` Daniel Glöckner
2010-05-18 9:37 ` Daniel Glöckner
2010-05-18 8:34 ` [PATCH v2] " Oskar Schirmer
2010-05-18 8:34 ` Oskar Schirmer
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=20100519130710.GX2516@laptop \
--to=npiggin@suse.de \
--cc=Michael.Hennerich@analog.com \
--cc=Piet.Delaney@tensilica.com \
--cc=akpm@linux-foundation.org \
--cc=chris@zankel.net \
--cc=cl@linux.com \
--cc=dbrownell@users.sourceforge.net \
--cc=dg@emlix.com \
--cc=dmitry.torokhov@gmail.com \
--cc=dwmw2@infradead.org \
--cc=grant.likely@secretlab.ca \
--cc=jw@emlix.com \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=marc@tensilica.com \
--cc=mpm@selenic.com \
--cc=os@emlix.com \
--cc=osw@emlix.com \
--cc=penberg@cs.helsinki.fi \
--cc=rientjes@google.com \
--cc=vapier.adi@gmail.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.