Lines Matching defs:tsk

83  * Task eligibility is determined by whether or not a candidate task, @tsk,
93 struct task_struct *tsk;
98 for_each_thread(start, tsk) {
101 * If this is a mempolicy constrained oom, tsk's
106 ret = mempolicy_in_oom_domain(tsk, mask);
110 * check the mems of tsk's cpuset.
112 ret = cpuset_mems_allowed_intersects(current, tsk);
122 static bool oom_cpuset_eligible(struct task_struct *tsk, struct oom_control *oc)
566 static bool oom_reap_task_mm(struct task_struct *tsk, struct mm_struct *mm)
571 trace_skip_task_reaping(tsk->pid);
582 trace_skip_task_reaping(tsk->pid);
586 trace_start_task_reaping(tsk->pid);
594 task_pid_nr(tsk), tsk->comm,
599 trace_finish_task_reaping(tsk->pid);
607 static void oom_reap_task(struct task_struct *tsk)
610 struct mm_struct *mm = tsk->signal->oom_mm;
613 while (attempts++ < MAX_OOM_REAP_RETRIES && !oom_reap_task_mm(tsk, mm))
621 task_pid_nr(tsk), tsk->comm);
622 sched_show_task(tsk);
626 tsk->oom_reaper_list = NULL;
635 put_task_struct(tsk);
643 struct task_struct *tsk = NULL;
648 tsk = oom_reaper_list;
649 oom_reaper_list = tsk->oom_reaper_list;
653 if (tsk)
654 oom_reap_task(tsk);
662 struct task_struct *tsk = container_of(timer, struct task_struct,
664 struct mm_struct *mm = tsk->signal->oom_mm;
669 put_task_struct(tsk);
674 tsk->oom_reaper_list = oom_reaper_list;
675 oom_reaper_list = tsk;
677 trace_wake_reaper(tsk->pid);
690 static void queue_oom_reaper(struct task_struct *tsk)
693 if (test_and_set_bit(MMF_OOM_REAP_QUEUED, &tsk->signal->oom_mm->flags))
696 get_task_struct(tsk);
697 timer_setup(&tsk->oom_reaper_timer, wake_oom_reaper, 0);
698 tsk->oom_reaper_timer.expires = jiffies + OOM_REAPER_DELAY;
699 add_timer(&tsk->oom_reaper_timer);
741 static inline void queue_oom_reaper(struct task_struct *tsk)
748 * @tsk: task to mark
753 * tsk->mm has to be non NULL and caller has to guarantee it is stable (either
756 static void mark_oom_victim(struct task_struct *tsk)
759 struct mm_struct *mm = tsk->mm;
763 if (test_and_set_tsk_thread_flag(tsk, TIF_MEMDIE))
767 if (!cmpxchg(&tsk->signal->oom_mm, NULL, mm))
768 mmgrab(tsk->signal->oom_mm);
776 __thaw_task(tsk);
778 cred = get_task_cred(tsk);
779 trace_mark_victim(tsk, cred->uid.val);