Messages in this thread | | | Date | Mon, 6 Feb 2006 13:10:26 -0800 | From | Andrew Morton <> | Subject | Re: OOM behavior in constrained memory situations |
| |
Christoph Lameter <clameter@engr.sgi.com> wrote: > > 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.
Do we really want to kill the application? A more convetional response would be to return NULL from the page allocator and let that trickle back.
The hugepage thing is special, because it's a pagefault, not a syscall. - 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/
| |