[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100507120753.GB4413@cmpxchg.org>
Date: Fri, 7 May 2010 14:07:53 +0200
From: Johannes Weiner <hannes@...xchg.org>
To: Mike Frysinger <vapier.adi@...il.com>
Cc: Oskar Schirmer <os@...ix.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Andrew Morton <akpm@...ux-foundation.org>,
linux-input@...r.kernel.org, linux-kernel@...r.kernel.org,
Daniel Glöckner <dg@...ix.com>,
Oliver Schneidewind <osw@...ix.com>,
Johannes Weiner <jw@...ix.com>
Subject: Re: [PATCH] ad7877: keep dma rx buffers in seperate cache lines
On Thu, May 06, 2010 at 02:46:04PM -0400, Mike Frysinger wrote:
> On Thu, May 6, 2010 at 06:37, Oskar Schirmer wrote:
> > struct ser_req {
> > + u16 sample;
> > + char __padalign[L1_CACHE_BYTES - sizeof(u16)];
> > +
> > u16 reset;
> > u16 ref_on;
> > u16 command;
> > - u16 sample;
> > struct spi_message msg;
> > struct spi_transfer xfer[6];
> > };
>
> are you sure this is necessary ? ser_req is only ever used with
> spi_sync() and it's allocated/released on the fly, so how could
> anything be reading that memory between the start of the transmission
> and the return to adi7877 ?
The master driver can. atmel_spi flushes the cache of the buffers
pretty early when queuing a message and touches the message members
afterwards.
> > struct ad7877 {
> > + u16 conversion_data[AD7877_NR_SENSE];
> > + char __padalign[L1_CACHE_BYTES
> > + - AD7877_NR_SENSE * sizeof(u16)];
> > +
> > struct input_dev *input;
> > char phys[32];
> >
> > @@ -182,8 +188,6 @@ struct ad7877 {
> > u8 averaging;
> > u8 pen_down_acc_interval;
> >
> > - u16 conversion_data[AD7877_NR_SENSE];
> > -
> > struct spi_transfer xfer[AD7877_NR_SENSE + 2];
> > struct spi_message msg;
>
> i can see the spi_message inside of this struct being a problem
> because the spi transfer is doing asynchronously with spi_async().
> however, i would add a comment right above these two fields with a
> short explanation as to why they're at the start and why the pad
> exists so someone down the line doesnt move it.
Good idea.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists