Re: [RFC 0/3] Recursive reclaim (on __PF_MEMALLOC)

Christoph Lameter
2007-09-10T19:41:57Z

On Mon, 10 Sep 2007, Peter Zijlstra wrote:

> > Peter's approach establishes the
> > limit by failing PF_MEMALLOC allocations.
>
> I'm not failing PF_MEMALLOC allocations. I'm more stringent in failing !
> PF_MEMALLOC allocations.

Right you are failing other allocations.

> > If that occurs then other
> > subsystems (like the disk, or even fork/exec or memory management
> > allocation) will no longer operate since their allocations no longer
> > succeed which will make the system even more fragile and may lead to
> > subsequent failures.
>
> Failing allocations should never be a stability problem, we have the
> fault-injection framework which allows allocations to fail randomly -
> this should never crash the kernel - if it does its a BUG.

Allright maybe you can get the kernel to be stable in the face of having
no memory and debug all the fallback paths in the kernel when an OOM
condition occurs.

But system calls will fail? Like fork/exec? etc? There may be daemons
running that are essential for the system to survive and that cannot
easily take an OOM condition? Various reclaim paths also need memory and
if the allocation fails then reclaim cannot continue.