Re: GFP_ATOMIC page allocation failures.

From: Jeff Garzik
Date: Wed Apr 02 2008 - 13:22:23 EST


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 <akpm@xxxxxxxxxxxxxxxxxxxx>

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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/