OOM behavior in constrained memory situations

From: Christoph Lameter
Date: Mon Feb 06 2006 - 15:57:14 EST


There are situations in which memory allocations are restricted by policy,
by a cpuset or by type of allocation.

I propose that we need different OOM behavior for the cases in which the
user has imposed a limit on what type of memory to be allocated. In that
case the application should be terminate with OOM. The OOM killer should
not run.

The huge page allocator has already been modified to return a Bus Error
because it would otherwise trigger the OOM killer. Its a bit strange
if an app returns a Bus Error because it its out of memory.

Could we modify the system so that the application requesting
memory is terminated with an out of memory condition if

1. No huge pages are available anymore.

2. The application has set a policy that restricts allocation to
certain nodes.

3. An application is restricted by a cpuset to certain nodes.

4. An application has requested large amounts of memory and the
allocation fails.

That should avoid the OOM killer in most situations.

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