Lines Matching refs:tsk

93 	struct task_struct *tsk;  in oom_cpuset_eligible()  local
98 for_each_thread(start, tsk) { in oom_cpuset_eligible()
106 ret = mempolicy_in_oom_domain(tsk, mask); in oom_cpuset_eligible()
112 ret = cpuset_mems_allowed_intersects(current, tsk); in oom_cpuset_eligible()
122 static bool oom_cpuset_eligible(struct task_struct *tsk, struct oom_control *oc) in oom_cpuset_eligible() argument
571 static bool oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm) in oom_reap_task_mm() argument
576 trace_skip_task_reaping(tsk->pid); in oom_reap_task_mm()
587 trace_skip_task_reaping(tsk->pid); in oom_reap_task_mm()
591 trace_start_task_reaping(tsk->pid); in oom_reap_task_mm()
599 task_pid_nr(tsk), tsk->comm, in oom_reap_task_mm()
604 trace_finish_task_reaping(tsk->pid); in oom_reap_task_mm()
612 static void oom_reap_task(struct task_struct *tsk) in oom_reap_task() argument
615 struct mm_struct *mm = tsk->signal->oom_mm; in oom_reap_task()
618 while (attempts++ < MAX_OOM_REAP_RETRIES && !oom_reap_task_mm(tsk, mm)) in oom_reap_task()
626 task_pid_nr(tsk), tsk->comm); in oom_reap_task()
627 sched_show_task(tsk); in oom_reap_task()
631 tsk->oom_reaper_list = NULL; in oom_reap_task()
640 put_task_struct(tsk); in oom_reap_task()
648 struct task_struct *tsk = NULL; in oom_reaper() local
653 tsk = oom_reaper_list; in oom_reaper()
654 oom_reaper_list = tsk->oom_reaper_list; in oom_reaper()
658 if (tsk) in oom_reaper()
659 oom_reap_task(tsk); in oom_reaper()
667 struct task_struct *tsk = container_of(timer, struct task_struct, in wake_oom_reaper() local
669 struct mm_struct *mm = tsk->signal->oom_mm; in wake_oom_reaper()
674 put_task_struct(tsk); in wake_oom_reaper()
679 tsk->oom_reaper_list = oom_reaper_list; in wake_oom_reaper()
680 oom_reaper_list = tsk; in wake_oom_reaper()
682 trace_wake_reaper(tsk->pid); in wake_oom_reaper()
695 static void queue_oom_reaper(struct task_struct *tsk) in queue_oom_reaper() argument
698 if (test_and_set_bit(MMF_OOM_REAP_QUEUED, &tsk->signal->oom_mm->flags)) in queue_oom_reaper()
701 get_task_struct(tsk); in queue_oom_reaper()
702 timer_setup(&tsk->oom_reaper_timer, wake_oom_reaper, 0); in queue_oom_reaper()
703 tsk->oom_reaper_timer.expires = jiffies + OOM_REAPER_DELAY; in queue_oom_reaper()
704 add_timer(&tsk->oom_reaper_timer); in queue_oom_reaper()
745 static inline void queue_oom_reaper(struct task_struct *tsk) in subsys_initcall()
760 static void mark_oom_victim(struct task_struct *tsk)
763 struct mm_struct *mm = tsk->mm;
767 if (test_and_set_tsk_thread_flag(tsk, TIF_MEMDIE))
771 if (!cmpxchg(&tsk->signal->oom_mm, NULL, mm))
772 mmgrab(tsk->signal->oom_mm);
780 __thaw_task(tsk);
782 cred = get_task_cred(tsk);
783 trace_mark_victim(tsk, cred->uid.val);