diff options
Diffstat (limited to 'include/linux/oom.h')
| -rw-r--r-- | include/linux/oom.h | 11 | 
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/oom.h b/include/linux/oom.h index e8d6e1058723..853698c721f7 100644 --- a/include/linux/oom.h +++ b/include/linux/oom.h @@ -92,6 +92,17 @@ static inline bool oom_gfp_allowed(gfp_t gfp_mask)  extern struct task_struct *find_lock_task_mm(struct task_struct *p); +static inline bool task_will_free_mem(struct task_struct *task) +{ +	/* +	 * A coredumping process may sleep for an extended period in exit_mm(), +	 * so the oom killer cannot assume that the process will promptly exit +	 * and release memory. +	 */ +	return (task->flags & PF_EXITING) && +		!(task->signal->flags & SIGNAL_GROUP_COREDUMP); +} +  /* sysctls */  extern int sysctl_oom_dump_tasks;  extern int sysctl_oom_kill_allocating_task;  | 
