#ifndef __INCLUDE_LINUX_OOM_H
#define __INCLUDE_LINUX_OOM_H
#include <linux/sched/signal.h>
#include <linux/types.h>
#include <linux/nodemask.h>
#include <uapi/linux/oom.h>
#include <linux/sched/coredump.h>
#include <linux/mm.h>
struct zonelist;
struct notifier_block;
struct mem_cgroup;
struct task_struct;
enum oom_constraint { … };
struct oom_control { … };
extern struct mutex oom_lock;
extern struct mutex oom_adj_mutex;
static inline void set_current_oom_origin(void)
{ … }
static inline void clear_current_oom_origin(void)
{ … }
static inline bool oom_task_origin(const struct task_struct *p)
{ … }
static inline bool tsk_is_oom_victim(struct task_struct * tsk)
{ … }
static inline vm_fault_t check_stable_address_space(struct mm_struct *mm)
{ … }
long oom_badness(struct task_struct *p,
unsigned long totalpages);
extern bool out_of_memory(struct oom_control *oc);
extern void exit_oom_victim(void);
extern int register_oom_notifier(struct notifier_block *nb);
extern int unregister_oom_notifier(struct notifier_block *nb);
extern bool oom_killer_disable(signed long timeout);
extern void oom_killer_enable(void);
extern struct task_struct *find_lock_task_mm(struct task_struct *p);
#endif