Re: [PATCH] Make GFP_DMA allocations w/o ZONE_DMA emit a warninginstead of failing

From: David Rientjes
Date: Fri Jun 10 2011 - 18:16:21 EST


On Fri, 10 Jun 2011, Russell King - ARM Linux wrote:

> > We're talking about two different things. Linus is saying that if GFP_DMA
> > should be a no-op if the hardware doesn't require DMA memory because the
> > kernel was correctly compiled without CONFIG_ZONE_DMA. I'm asking about a
> > kernel that was incorrectly compiled without CONFIG_ZONE_DMA and now we're
> > returning memory from anywhere even though we actually require GFP_DMA.
>
> How do you distinguish between the two states? Answer: you can't.
>

By my warning which says "enable CONFIG_ZONE_DMA _if_ needed." The
alternative is to silently return memory from anywhere, which is what the
page allocator does now, which doesn't seem very user friendly when the
device randomly works depending on the chance it was actually allocated
from the DMA mask. If it actually wants DMA and the kernel is compiled
incorrectly, then I think a single line in the kernel log would be nice to
point them in the right direction. Users who disable the option usually
know what they're doing (it's only allowed for CONFIG_EXPERT on x86, for
example), so I don't think they'll mind the notification and choose to
ignore it.
--
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/