On Wed, 2007-05-16 at 14:13 -0700, Christoph Lameter wrote:
> On Wed, 16 May 2007, Peter Zijlstra wrote:
> > > How we know that we are out of trouble? Just try another alloc and see? 
> > > If 
> > > that is the case then we may be failing allocations after the memory 
> > > situation has cleared up.
> > No, no, for each regular allocation we retry to populate ->cpu_slab with
> > a new slab. If that works we're out of the woods and the ->reserve_slab
> > is cleaned up.
> 
> Hmmm.. so we could simplify the scheme by storing the last rank 
> somewheres.

Not sure how that would help..

> If the alloc has less priority and we can extend the slab then
> clear up the situation.
> 
> If we cannot extend the slab then the alloc must fail.

That is exactly what is done; and as mpm remarked the other day, its a
binary system; we don't need full gfp fairness just ALLOC_NO_WATERMARKS.

And that is already found in ->reserve_slab; if present the last
allocation needed it; if not the last allocation was good.

> Could you put the rank into the page flags? On 64 bit at least there 
> should be enough space.

Current I stick the newly allocated page's rank in page->rank (yet
another overload of page->index). I've not yet seen the need to keep it
around longer.

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

Reply via email to