[1/13] add __GFP_NOKILL

William Lee Irwin III
2002-09-26T05:42:21Z

__GFP_NOKILL has the semantics that OOM killing should never result
from the given allocation. Instead, the allocation should be failed,
as it's not indicative of the system being truly out of memory, only
that the given call cannot be serviced.

The series of patches using this flag to prevent spurious OOM killing
were all done in response to specific OOM's observed during testing.

diff -urN linux-2.5.33/include/linux/gfp.h linux-2.5.33-mm5/include/linux/gfp.h
--- linux-2.5.33/include/linux/gfp.h 2002-08-31 15:04:53.000000000 -0700
+++ linux-2.5.33-mm5/include/linux/gfp.h 2002-09-08 19:52:51.000000000 -0700
@@ -17,6 +17,7 @@
#define __GFP_IO 0x40 /* Can start low memory physical IO? */
#define __GFP_HIGHIO 0x80 /* Can start high mem physical IO? */
#define __GFP_FS 0x100 /* Can call down to low-level FS? */
+#define __GFP_NOKILL 0x200 /* Should not OOM kill */

#define GFP_NOHIGHIO ( __GFP_WAIT | __GFP_IO)
#define GFP_NOIO ( __GFP_WAIT)