Thread (16 messages) 16 messages, 4 authors, 2011-01-13

RE: [E1000-devel] [e100] Page allocation failure warning(?) in 2.6.36.3

flat view

From: Brandeburg, Jesse <hidden>
Date: 2011-01-12 18:05:12

Hi Eric, thanks for doing this work!

On Wed, 12 Jan 2011, Eric Dumazet wrote:
Apparently e100 driver uses GFP_ATOMIC allocations in setup phase, and
your machine doesnt have enough memory.
This part looks great.
 
I would try following patch, allowing the use of GFP_KERNEL at init
time, to let vm games play.

Thanks

[PATCH] e100: use GFP_KERNEL allocations at device init stage

In lowmem conditions, e100 driver can fail its initialization, because
of GFP_ATOMIC abuse.

Switch to GFP_KERNEL were applicable.

Add __GFP_NOWARN flag to GFP_ATOMIC allocations, since driver can cope
with failed allocations (if setup succeeded)

Reported-by: Chris Rankin <redacted>
Signed-off-by: Eric Dumazet <redacted>
CC: Jeff Kirsher <redacted>
Reviewed-by: Jesse Brandeburg <redacted>
quoted hunk ↗ jump to hunk
-		if (unlikely(e100_rx_alloc_skb(nic, rx)))
+		if (unlikely(e100_rx_alloc_skb(nic, rx,
+					       GFP_ATOMIC | __GFP_NOWARN)))
First, I don't think the following comment should hold up this patch.

As a policy question when I asked about using __GFP_NOWARN before in other 
Intel ethernet drivers the consensus seemed to be that the warning 
messages were useful.  All our drivers correctly handle runtime memory 
failures, but none of them are currently using __GFP_NOWARN.

Can I submit patches to change our other drivers to __GFP_NOWARN?  I think 
it will make for quite a few less reports of non-issues to the list.  All 
our drivers that I would be patching already have ethtool counters that 
count failed allocations.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help