[lkml]   [2011]   [Jun]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH] Make GFP_DMA allocations w/o ZONE_DMA emit a warning instead of failing
On Fri, Jun 10, 2011 at 03:01:15PM -0700, David Rientjes wrote:
> On Fri, 10 Jun 2011, Russell King - ARM Linux wrote:
> > See Linus' reply. I quote again "on platforms where it doesn't matter it
> > should be a no-op". If _you_ have a problem with that _you_ need to
> > discuss it with _Linus_, not me. I'm not going to be a middle-man sitting
> > between two people with different opinions.
> 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.

> If you don't want to form an opinion of your own, then I have no problem
> cc'ing Linus on it.

I think I've made my position in this fairly clear with our previous
discussions on this. The fact of the matter is that there are some
drivers which use GFP_DMA because they need that on _some_ platforms
but not all.

Not all platforms are _broken_ with respect to DMA, and those which
aren't broken don't provide a DMA zone.

Therefore, it is _perfectly_ _legal_ to honor a GFP_DMA allocation on
a kernel without CONFIG_ZONE_DMA set.

That position appears to be reflected by Linus' response, so

> I don't think he'd object to a
> WARN_ON_ONCE(1, "%s (%d): allocating DMA memory without DMA support -- "
> "enable CONFIG_ZONE_DMA if needed.\n",
> current->comm, current->pid);
> #endif

I think he will definitely object to this on the grounds that its
adding useless noise for conditions which are _perfectly_ _valid_.

 \ /
  Last update: 2011-06-11 00:11    [W:0.055 / U:20.648 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site