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, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxxx For more info on Linux MM, see: http://www.linux-mm.org/ . Fight unfair telecom internet charges in Canada: sign http://stopthemeter.ca/ Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>