Re: [PATCH 02/10] mm: system wide ALLOC_NO_WATERMARK

Christoph Lameter
2007-08-08T18:09:19Z

On Wed, 8 Aug 2007, Daniel Phillips wrote:

> 1. If the allocation can be satisified in the usual way, do that.
> 2. Otherwise, if the GFP flags do not include __GFP_MEMALLOC or
> PF_MEMALLOC is not set, fail the allocation
> 3. Otherwise, if the memcache's reserve quota is not reached,
> satisfy the request, allocating a new page from the MEMALLOC reserve,
> but the memcache's reserve counter and succeed

Maybe we need to kill PF_MEMALLOC....

> > Try NUMA constraints and zone limitations.
>
> Are you worried about a correctness issue that would prevent the
> machine from operating, or are you just worried about allocating
> reserve pages to the local node for performance reasons?

I am worried that allocation constraints will make the approach incorrect.
Because logically you must have distinct pools for each set of allocations
constraints. Otherwise something will drain the precious reserve slab.

> > No I mean all 1024 processors of our system running into this fail/succeed
> > thingy that was added.
>
> If an allocation now fails that would have succeeded in the past, the
> patch set is buggy. I can't say for sure one way or another at this
> time of night. If you see something, could you please mention a
> file/line number?

It seems that allocations fail that the reclaim logic should have taken
care of letting succeed. Not good.