public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@HansenPartnership.com>
To: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>,
	David Miller <davem@davemloft.net>,
	linux-kernel@vger.kernel.org, linux-scsi@vger.kernel.org,
	rmk@arm.linux.org.uk
Subject: Re: SCSI breakage on non-cache coherent architectures
Date: Tue, 20 Nov 2007 08:36:02 -0600	[thread overview]
Message-ID: <1195569362.3131.3.camel@localhost.localdomain> (raw)
In-Reply-To: <20071120082927.GA8856@alpha.franken.de>


On Tue, 2007-11-20 at 09:29 +0100, Thomas Bogendoerfer wrote:
> On Tue, Nov 20, 2007 at 06:51:14AM +1100, Benjamin Herrenschmidt wrote:
> > 
> > On Mon, 2007-11-19 at 00:38 -0800, David Miller wrote:
> > > From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
> > > Date: Mon, 19 Nov 2007 16:35:23 +1100
> > > 
> > > > I'm not sure what is the best way to fix that. Internally, I've done
> > > > some test whacking some ____cacheline_aligned in the scsi_cmnd data
> > > > structure to verify I no longer get random SLAB corruption when using my
> > > > USB but that significantly bloats the size of the structure on archs
> > > > such as ppc64 that don't need it and have a large cache line size.
> > > > 
> > > > Unfortunately, I don't think there's any existing Kconfig symbol or arch
> > > > provided #define to tell us that we are on a non-coherent arch afaik
> > > > that could be used to make that conditional.
> > > > 
> > > > Another option would be to kmalloc the buffer (wasn't it the case before
> > > > btw ?) but I suppose some people will scream at the idea due to how the
> > > > command pools are done...
> > > 
> > > You could make a ____dma_cacheline_aligned and use that.
> > > It seems pretty reasonable.
> > 
> > I was thinking about that. What archs would need it ? arm, mips, what
> > else ?
> 
> older parisc

Actually, we already established on IRC that the lasi700 driver doesn't
need this, principally because the parisc architecture doesn't do an
invalidate for DMA_FROM_DEVICE but a flush and invalidate
(architecturally, if you read our manuals, even pdc is entitled to write
back dirty lines, so it's not clear there's actually an invalidate
instruction we can use).   This is also one possible temporary fix for
the other architectures if we can't get a different method to work
nicely.

James


James



  reply	other threads:[~2007-11-20 14:36 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-11-19  5:35 SCSI breakage on non-cache coherent architectures Benjamin Herrenschmidt
2007-11-19  8:38 ` David Miller
2007-11-19 19:51   ` Benjamin Herrenschmidt
2007-11-19 22:31     ` David Miller
2007-11-20  0:34       ` Benjamin Herrenschmidt
2007-11-20  0:46         ` David Miller
2007-11-20  0:55           ` Benjamin Herrenschmidt
2007-11-20  0:57             ` David Miller
2007-11-20  2:10           ` Roland Dreier
2007-11-20  2:35             ` Benjamin Herrenschmidt
2007-11-20  3:14             ` Benjamin Herrenschmidt
2007-11-20 19:35               ` James Bottomley
2007-11-20  8:29     ` Thomas Bogendoerfer
2007-11-20 14:36       ` James Bottomley [this message]
2007-11-20 20:05         ` Roland Dreier
2007-11-20 21:10           ` James Bottomley
2007-11-20 22:39             ` Benjamin Herrenschmidt
2007-11-20 23:09               ` James Bottomley
2007-11-19 12:32 ` Matthew Wilcox
2007-11-19 15:09   ` James Bottomley
2007-11-19 19:54     ` Benjamin Herrenschmidt
2007-11-19 19:55     ` Benjamin Herrenschmidt
2007-11-19 19:53   ` Benjamin Herrenschmidt
2007-11-19 21:43 ` Roland Dreier
2007-11-19 21:55   ` Benjamin Herrenschmidt

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=1195569362.3131.3.camel@localhost.localdomain \
    --to=james.bottomley@hansenpartnership.com \
    --cc=benh@kernel.crashing.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=rmk@arm.linux.org.uk \
    --cc=tsbogend@alpha.franken.de \
    /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