Thread (12 messages) flat view 12 messages, 5 authors, 2008-03-25

Re: [PATCH 1/2 v2] Driver for Freescale 8610 and 5121 DIU

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2008-03-24 18:49:15
Also in: linuxppc-dev, lkml

On Mon, 24 Mar 2008 09:53:16 -0500
Timur Tabi [off-list ref] wrote:
Andrew Morton wrote:
quoted
quoted
quoted
GFP_DMA implies GFP_ATOMIC, but it's appropriate for documentation purposes.
So does that mean that "GFP_DMA | GFP_KERNEL" is always wrong?
No, that's OK too.  It's just that GFP_DMA|GFP_ATOMIC is a bit redundant
and misleading.  GFP_DMA is already atomic; the only effect of adding
GFP_ATOMIC to GFP_DMA is to add __GFP_HIGH.

Don't wory about it ;)
Well, maybe we don't want GFP_ATOMIC then, because I don't think we want
__GFP_HIGH.  Looking at the code, it appears the __GFP_HIGH has nothing to do
with HIGHMEM (which on PowerPC is the not 1-to-1 mapping memory from 0xF000000
to 0xFFFFFFFF).  Further examination of the cools shows the __GFP_HIGH says to
try access the "emergency pool", and I see this code snippet:

	if (alloc_flags & ALLOC_HIGH)
		min -= min / 2;

I guess this means that we reduce the amount of memory that can be available in
order for the allocate to succeed.

Considering that the amount of memory that we allocate is in the order of
megabytes, and it really isn't that important, I would think that we don't want
to touch the emergency pool.  Does that sound right?
yup.  The absence of __GFP_WAIT already causes the page allocator to try a
bit harder.  Adding __GFP_HIGH would make it try harder still.

You do need to be sure that the driver will robustly and correctly recover
from an allocation failure here.


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help