Re: Define CONFIG_BOUNCE to avoid useless inclusion of bounce bufferlogic.

From: Christoph Lameter
Date: Thu May 24 2007 - 00:04:05 EST


On Thu, 24 May 2007, Paul Mackerras wrote:

> That is (presumably) true today, but is in fact a redefinition of what
> ZONE_DMA historically was for.

I do not know too much about the history but when I tried to correlate
all the different ways that arches use the zone this definition was the
most consistent between all of them. Add the fact that we always had the
MAX_DMA_ADDRESS limit for DMA. I think the history is due to the
platform at the time only being able to do DMA to low memory addresses.

The definition of ZONE_DMA is rather problematic. The only common
denominator is the limitaiton by MAX_DMA_ADDRESS. But that limit varies
from platform to platform. Thus the meaning of GFP_DMA is also varying
from platfom to platform.

> Also there is the problem that some drivers use ZONE_DMA allocations
> because their device can only generate addresses below some limit, but
> on a platform with an IOMMU there is in fact no restriction on what
> memory the device can access.

That problem is to some extend addressed by switching ZONE_DMA off which
results in GFP_DMA becoming meaningless. And if GFP_DMA and ZONE_DMA is
gone from a platform then the MAX_DMA_ADDRESS inconsistencies are solved
since the cause of the inconsistencies has evaporated.

-
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/