|From:||Jeff Garzik <jeff-AT-garzik.org>|
|To:||Andrew Morton <akpm-AT-linux-foundation.org>|
|Subject:||Re: GFP_ATOMIC page allocation failures.|
|Date:||Wed, 02 Apr 2008 13:21:44 -0400|
|Cc:||Chris Snook <csnook-AT-redhat.com>, Dave Jones <davej-AT-codemonkey.org.uk>, Nick Piggin <nickpiggin-AT-yahoo.com.au>, Linux Kernel <linux-kernel-AT-vger.kernel.org>, NetDev <netdev-AT-vger.kernel.org>, David Miller <davem-AT-davemloft.net>, Linus Torvalds <torvalds-AT-linux-foundation.org>|
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@example.com> > > 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 netdev" in the body of a message to firstname.lastname@example.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Copyright © 2008, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds