[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <47F3C0A8.9090300@garzik.org>
Date: Wed, 02 Apr 2008 13:21:44 -0400
From: Jeff Garzik <jeff@...zik.org>
To: Andrew Morton <akpm@...ux-foundation.org>
CC: Chris Snook <csnook@...hat.com>,
Dave Jones <davej@...emonkey.org.uk>,
Nick Piggin <nickpiggin@...oo.com.au>,
Linux Kernel <linux-kernel@...r.kernel.org>,
NetDev <netdev@...r.kernel.org>,
David Miller <davem@...emloft.net>,
Linus Torvalds <torvalds@...ux-foundation.org>
Subject: Re: GFP_ATOMIC page allocation failures.
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@...ux-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).
Jeff
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists