mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 07:01:23 +00:00
mm, oom: enforce exit_oom_victim on current task
There are no users of exit_oom_victim on !current task anymore so enforce the API to always work on the current. Link: http://lkml.kernel.org/r/1472119394-11342-8-git-send-email-mhocko@kernel.org Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp> Signed-off-by: Michal Hocko <mhocko@suse.com> Cc: Oleg Nesterov <oleg@redhat.com> Cc: David Rientjes <rientjes@google.com> Cc: Vladimir Davydov <vdavydov@parallels.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
7d2e7a22cf
commit
38531201c1
3 changed files with 4 additions and 5 deletions
|
@ -69,7 +69,7 @@ extern unsigned long oom_badness(struct task_struct *p,
|
||||||
|
|
||||||
extern bool out_of_memory(struct oom_control *oc);
|
extern bool out_of_memory(struct oom_control *oc);
|
||||||
|
|
||||||
extern void exit_oom_victim(struct task_struct *tsk);
|
extern void exit_oom_victim(void);
|
||||||
|
|
||||||
extern int register_oom_notifier(struct notifier_block *nb);
|
extern int register_oom_notifier(struct notifier_block *nb);
|
||||||
extern int unregister_oom_notifier(struct notifier_block *nb);
|
extern int unregister_oom_notifier(struct notifier_block *nb);
|
||||||
|
|
|
@ -511,7 +511,7 @@ static void exit_mm(struct task_struct *tsk)
|
||||||
mm_update_next_owner(mm);
|
mm_update_next_owner(mm);
|
||||||
mmput(mm);
|
mmput(mm);
|
||||||
if (test_thread_flag(TIF_MEMDIE))
|
if (test_thread_flag(TIF_MEMDIE))
|
||||||
exit_oom_victim(tsk);
|
exit_oom_victim();
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct task_struct *find_alive_thread(struct task_struct *p)
|
static struct task_struct *find_alive_thread(struct task_struct *p)
|
||||||
|
|
|
@ -662,10 +662,9 @@ static void mark_oom_victim(struct task_struct *tsk)
|
||||||
/**
|
/**
|
||||||
* exit_oom_victim - note the exit of an OOM victim
|
* exit_oom_victim - note the exit of an OOM victim
|
||||||
*/
|
*/
|
||||||
void exit_oom_victim(struct task_struct *tsk)
|
void exit_oom_victim(void)
|
||||||
{
|
{
|
||||||
if (!test_and_clear_tsk_thread_flag(tsk, TIF_MEMDIE))
|
clear_thread_flag(TIF_MEMDIE);
|
||||||
return;
|
|
||||||
|
|
||||||
if (!atomic_dec_return(&oom_victims))
|
if (!atomic_dec_return(&oom_victims))
|
||||||
wake_up_all(&oom_victims_wait);
|
wake_up_all(&oom_victims_wait);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue