home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / include / linux / oom.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  892 b   |  35 lines

  1. #ifndef __INCLUDE_LINUX_OOM_H
  2. #define __INCLUDE_LINUX_OOM_H
  3.  
  4. /* /proc/<pid>/oom_adj set to -17 protects from the oom-killer */
  5. #define OOM_DISABLE (-17)
  6. /* inclusive */
  7. #define OOM_ADJUST_MIN (-16)
  8. #define OOM_ADJUST_MAX 15
  9.  
  10. #ifdef __KERNEL__
  11.  
  12. #include <linux/types.h>
  13.  
  14. struct zonelist;
  15. struct notifier_block;
  16.  
  17. /*
  18.  * Types of limitations to the nodes from which allocations may occur
  19.  */
  20. enum oom_constraint {
  21.     CONSTRAINT_NONE,
  22.     CONSTRAINT_CPUSET,
  23.     CONSTRAINT_MEMORY_POLICY,
  24. };
  25.  
  26. extern int try_set_zone_oom(struct zonelist *zonelist, gfp_t gfp_flags);
  27. extern void clear_zonelist_oom(struct zonelist *zonelist, gfp_t gfp_flags);
  28.  
  29. extern void out_of_memory(struct zonelist *zonelist, gfp_t gfp_mask, int order);
  30. extern int register_oom_notifier(struct notifier_block *nb);
  31. extern int unregister_oom_notifier(struct notifier_block *nb);
  32.  
  33. #endif /* __KERNEL__*/
  34. #endif /* _INCLUDE_LINUX_OOM_H */
  35.