Re: [PATCH 3/4] Embed zone_id information within the zonelist->zones pointer

Ralf Baechle
2007-08-15T12:32:59Z

On Wed, Aug 15, 2007 at 02:59:20PM +0200, Andi Kleen wrote:

> On Wed, Aug 15, 2007 at 12:37:49PM +0100, Ralf Baechle wrote:
> > On Tue, Aug 14, 2007 at 02:14:41AM +0200, Andi Kleen wrote:
> >
> > > meth is only used on SGI O2s which are not that slow and unlikely
> > > to work in tree anyways.
> >
> > O2 doesn't enable CONFIG_ZONE_DMA so there is no point in using GFP_DMA in
> > an O2-specific device driver. Will send out patch in separate mail.
>
> Great.
>
> BTW I suspect this is true for some other GFP_DMA usages too.
> Some driver writers seem to confuse it with the PCI DMA
> APIs or believe it is always needed for them.

In case of the O2 the full story is a little more complicated. The O2 is
not I/O coherent. That's a well know and handled configuration for the
R5000. But the R10000 which was never designed for such use will do very
stupid things such as actually performing speculative stores and scribbling
into DMA buffers left and right. There are two possible workarounds for
this; one is software only the other is using a little CPLD codenamed Juice
on the O2 R10000 board and would require a special memory region for DMA
buffers, so the ZONE_DMA was really there as some sort of future proofing.
But in the end the same arguments as for the Lance apply here.

Ralf