Re: [PATCH] fork() failing

Marcelo Tosatti (marcelo@conectiva.com.br)
Thu, 18 Oct 2001 16:48:37 -0200 (BRST)


On Thu, 18 Oct 2001, Rik van Riel wrote:

> On Thu, 18 Oct 2001, Marcelo Tosatti wrote:
>
> > Imagine people changing the point where the
> >
> > if ((gfp_mask & __GFP_FAIL))
> > return;
> >
> > check is done (inside the freeing routines).
> >
> > I would like to have a _defined_ meaning for a "fail easily" allocation,
> > and a simple unique __GFP_FAIL flag can't give us that IMO.
>
> Actually, I guess we could define this to be the same point
> where we'd end up freeing memory in order to satisfy our
> allocation.
>
> This would result in __GFP_FAIL meaning "give me memory if
> it's available, but don't waste time freeing memory if we
> don't have enough free memory now".
>
> Space-wise these semantics could change (say, pages_low
> vs. pages_min), but they'll stay the same when you look at
> "how hard to try" or "how much effort to spend".

Just remember that if we give __GFP_FAIL a "give me memory if its
available" meaning we simply can't use it for stuff like pagecache
prefetching --- its _too_ fragile.

Thats why I think we need the freeing levels, and thats why I think we
should left all of that for 2.5. :)

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/