Re: [patch 1/6] md: remove dependency on __GFP_NOFAIL

From: Andrew Morton
Date: Mon Aug 23 2010 - 16:23:42 EST


On Mon, 23 Aug 2010 13:08:53 -0700 (PDT)
David Rientjes <rientjes@xxxxxxxxxx> wrote:

> On Mon, 23 Aug 2010, Andrew Morton wrote:
>
> > Hows about you add a helper function
> >
> > void *[kmalloc|alloc_page]_retrying_forever_because_i_suck(lots of args)
> >
> > then convert the callsites to use that, then nuke __GFP_NOFAIL?
> >
>
> That would only serve as documentation

Is that bad?

> of a caller that could potentially
> loop forever waiting for memory (which I did by adding "/* FIXME: this may
> potentially loop forever */")

A helper function could check that appropriate gfp flags are being set.

> since all of the allocations in this
> patchset never loop in the code that was added, they already loop forever
> in the page allocator doing the same thing. The hope is that kswapd will
> eventually be able to free memory since direct reclaim will usually fail
> for GFP_NOFS and we simply need to wait long enough for there to be
> memory.

While holding locks which will prevent kswapd from doing anything useful.

--
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/