Subject: Re: GFP_ATOMIC page allocation failures.

From: Jeff Garzik <[email-masked]>
Date: Wed, 02 Apr 2008 13:21:44 -0400

Andrew Morton wrote:
> The appropriate thing to do here is to convert known-good drivers (such as
> e1000[e]) to use __GFP_NOWARN.
> 
> Unfortunately netdev_alloc_skb() went and assumed GFP_ATOMIC, but I guess
> we can dive below the covers and use __netdev_alloc_skb():
> 
> 
> 
> From: Andrew Morton <[email-masked]>
> 
> We get rather a lot of reports of page allocation warnings coming out of
> e1000.  But this driver is know to handle them properly so let's suppress
> them.

Do you people hear what you're saying???

I respectfully but strongly disagree with this.

We do __not__ need a whitelist (__GFP_NOWARN) of drivers that handle 
allocation failures properly.  That's a long list, a maintenance 
nightmare, and it is punishing good behavior.

It has been true for over a decade that allocations should be checked 
for NULL, and GFP_ATOMIC allocations MUST be checked for NULL.

Let's not crap all over good drivers, because a few bad apples don't 
have the proper checks.

Or at the very least, this TOTALLY BOGUS spew from working drivers 
should not be foisted upon users.  Every time a working driver complains 
about this -- as in the examples here -- the value of the warning 
decreases to noise.

And the solution to noise is not _more noise_ (adding 'nowarn' to every 
damn driver in the kernel).

	Jeff