Re: [PATCH 2/2] cciss: disable dma prefetch for P600
From: Mike Miller (OS Dev)
Date: Fri Oct 20 2006 - 15:56:40 EST
On Wed, Oct 18, 2006 at 02:37:23PM -0700, Andrew Morton wrote:
>
> argh, you removed the mailing list from cc.
Sorry, I'm still lacking proper etiquette.
>
> On Wed, 18 Oct 2006 11:54:53 -0500
> "Mike Miller (OS Dev)" <mikem@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> > On Tue, Oct 17, 2006 at 05:10:21PM -0700, Andrew Morton wrote:
> > > On Tue, 17 Oct 2006 16:13:03 -0500
> > > "Mike Miller (OS Dev)" <mikem@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
> > >
> > > > PATCH 2/2
> > > > Turned off DMA prefetch for the P600 on systems which may present
> > > > discontiguous memory.
> > > >
> > >
> > > What do you mean by "discontiguous memory"? CONFIG_DISCONTIGMEM?
> >
> > The IPF memory map can have holes between the different regions. I've
> > been told by our HW guys that AMD may also have holes.
>
> Pretty much all platforms/architectures have holes in their physical memory
> map.
>
>
> > >
> > > What is the actual problem which is being fixed here?
> >
> > Sorry, I should have been clearer. There is a bug in the DMA engine that
> > that may result in prefetching data from beyond the end of memory or
> > falling off into one the holes on IPF and AMD. It causes a machine check
> > when that happens.
> > It doesn't happen on Proliant because the last 4kB (or so) of memory is
> > mapped out by the BIOS and Pentium guarantees contiguous memory.
>
> I think that this:
>
> > > #if defined(CONFIG_IA64) || defined(CONFIG_X86_64)
>
> is nowhere near strong enough and is probably inappropriate.
>
> It _could_ be that CONFIG_DISCONTIGMEM|CONFIG_SPARSEMEM will be closer, but
> even CONFIG_FLATMEM systems can have holes.
I'm poking around on some IPF platforms. It looks like CONFIG_DISCONTIGMEM is
set on them, but not the others you mention. Would that be sufficient?
>
> On what machines can/does this card exist? Things like powerpc?
This problem was found on Itanium. We don't try to support powerpc.
Thanks,
mikem
-
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/