From: Andrew Morton <akpm@linux-foundation.org>
To: Matthew Wilcox <matthew@wil.cx>
Cc: Jesper Juhl <jesper.juhl@gmail.com>,
Eric Moore <Eric.Moore@lsi.com>,
DL-MPTFusionLinux@lsi.com,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
support@lsi.com, mpt_linux_developer@lsi.com,
linux-scsi@vger.kernel.org,
James Bottomley <James.Bottomley@steeleye.com>
Subject: Re: [PATCH] Fix two potential mem leaks in MPT Fusion (mpt_attach())
Date: Wed, 1 Aug 2007 22:13:42 -0700 [thread overview]
Message-ID: <20070801221342.d1f0db35.akpm@linux-foundation.org> (raw)
In-Reply-To: <20070802030350.GF21219@parisc-linux.org>
On Wed, 1 Aug 2007 21:03:50 -0600 Matthew Wilcox <matthew@wil.cx> wrote:
> On Wed, Aug 01, 2007 at 05:26:53PM -0700, Andrew Morton wrote:
> > Why on earth is that using GFP_ATOMIC? This function later goes on to
> > create procfs files and such things.
>
> Seems fairly common in driver initialisation code. I removed three
> instances of this in the advansys driver.
hrm. People reach for GFP_ATOMIC so often that it becomes a habit, I guess.
It makes one wonder how much that lovely fault-injection framework is being
used.
> > y'know, we could have a debug option which will spit warnings if someone
> > does a !__GFP_WAIT allocation while !in_atomic() (only works if
> > CONFIG_PREEMPT).
> >
> > But please, make it depend on !CONFIG_AKPM. I shudder to think about all
> > the stuff it would pick up.
>
> Seems like you'd get a lot of false positives.
There would be a few. mempool does a non-__GFP_WAIT allocation
deliberately, for example (I still think that's fishy btw).
But I don't expect there would be a large number of falsies. We could add
a __GFP_I_REALLY_MEANT_ATOMIC flag to shut those up.
> How about a call:
>
> slab_warn_about_atomic_allocs();
>
> right before calling the initcalls, and then
>
> slab_stop_warning_about_atomic_allocs();
>
> after calling them? That should give people a lot to chew on for a few
> months. Obviously, you would need to not warn about allocations from
> interrupt context, as you say above.
Could. But GFP_ATOMIC at initcall-time really isn't a problem (except that
it can probably also happen at modprobe-time).
What is the major concern is needlessly atomic allocations at regular
runtime.
next prev parent reply other threads:[~2007-08-02 5:13 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-08-01 23:55 [PATCH] Fix two potential mem leaks in MPT Fusion (mpt_attach()) Jesper Juhl
2007-08-02 0:26 ` Andrew Morton
2007-08-02 3:03 ` Matthew Wilcox
2007-08-02 5:13 ` Andrew Morton [this message]
2007-08-02 8:20 ` Jesper Juhl
2007-08-02 22:53 ` Jesper Juhl
2007-08-02 22:53 ` Jesper Juhl
2007-08-02 23:04 ` Andrew Morton
2007-08-02 23:04 ` Andrew Morton
2007-08-02 23:10 ` Jesper Juhl
2007-08-02 23:10 ` Jesper Juhl
2007-08-02 23:17 ` Andrew Morton
2007-08-02 23:17 ` Andrew Morton
2007-08-02 23:26 ` Jesper Juhl
2007-08-02 23:26 ` Jesper Juhl
2007-08-03 0:47 ` Christoph Lameter
2007-08-03 0:47 ` Christoph Lameter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070801221342.d1f0db35.akpm@linux-foundation.org \
--to=akpm@linux-foundation.org \
--cc=DL-MPTFusionLinux@lsi.com \
--cc=Eric.Moore@lsi.com \
--cc=James.Bottomley@steeleye.com \
--cc=jesper.juhl@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-scsi@vger.kernel.org \
--cc=matthew@wil.cx \
--cc=mpt_linux_developer@lsi.com \
--cc=support@lsi.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.