Re: [LKML] Re: [PATCH v3] ad7877: keep dma rx buffers in seperatecache lines

From: Johannes Weiner
Date: Wed May 19 2010 - 11:01:18 EST


On Wed, May 19, 2010 at 11:52:26PM +1000, Nick Piggin wrote:
> On Wed, May 19, 2010 at 03:44:30PM +0200, Johannes Weiner wrote:
> > On Wed, May 19, 2010 at 11:36:56PM +1000, Nick Piggin wrote:
> > > On Wed, May 19, 2010 at 02:17:47PM +0100, David Woodhouse wrote:
> > > >
> > > > The 'cacheline aligned' misconception did manage to get into the ad7877
> > > > driver in commit 3843384a though -- it now uses ____cacheline_aligned
> > > > instead of __attribute__((__aligned__(ARCH_KMALLOC_MINALIGN))) as it
> > > > should.
> > >
> > > OK so long as there is not a "must be cacheline aligned" requirement.
> > > Your proposal for a __dma_aligned attribute in an arch header looks
> > > like a good idea there.
> >
> > Would you happen to know of other potential users? At this point I'd
> > much rather just allocate the buffers dynamically and hide the issue
> > nicely behind kmalloc().
>
> I don't think we need to hide the fact that some platforms have
> specific alignment restrictions for DMA. So if any drivers make use
> of the alignment, I see no problem with __dma_aligned.

In this case, the slave driver does not know whether the master driver
is even using DMA. That's the reason we do not use dma_alloc_* for
the buffers in the first place. And that's why I'd prefer to leave
the slave agnostic about it. Use kmalloc(), don't worry about the
details.

Of course, there may still be more appropriate users for the macro,
that's why I asked.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/