Messages in this thread | | | Date | Wed, 2 Apr 2008 10:33:55 -0700 | From | Andrew Morton <> | Subject | Re: GFP_ATOMIC page allocation failures. |
| |
On Wed, 02 Apr 2008 13:21:44 -0400 Jeff Garzik <jeff@garzik.org> wrote:
> 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@linux-foundation.org> > > > > 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). >
After you've read Nick's comments (which I pray you have not), and after you've convinced us and yourself of their wrongness, you might like to consider adding a __GFP_NOWARN to netdev_alloc_skb().
| |