The attached patch implements strict VM overcommit on top of the rmap VM. The basis for this is Alan Cox's work in 2.4-ac. This is a port of the strict VM overcommit out of 2.4-ac and into the standard kernel with the following changes: - one or two bugfixes (have sent/will send to Alan) - some cleanups, mostly for coding style - I did not bring over the debugging code - new overcommit policy for swapless machines So what is strict VM overcommit? We introduce new overcommit policies that attempt to never succeed an allocation that can not be fulfilled by the backing store and consequently never OOM. This is achieved through strict accounting of the committed address space and a policy to allow/refuse allocations based on that accounting. In the strictest of modes, it should be impossible to allocate more memory than available and impossible to OOM. All memory failures should be pushed down to the allocation routines -- malloc, mmap, etc. The new modes are available via sysctl (same as before). See Documentation/vm/overcommit-accounting for more information. Again, Alan deserves the credit for the design of all this. The patch is against 2.4.19-pre7-rmap13b but should apply to later releases with little trouble. Enjoy, Robert Love