Lines Matching refs:tsk

157 static void exe_add_tsk(struct taskstats *stats, struct task_struct *tsk)
160 struct file *exe_file = get_task_exe_file(tsk);
176 struct task_struct *tsk, struct taskstats *stats)
183 * per-task-foo(stats, tsk);
186 delayacct_add_tsk(stats, tsk);
190 stats->nvcsw = tsk->nvcsw;
191 stats->nivcsw = tsk->nivcsw;
192 bacct_add_tsk(user_ns, pid_ns, stats, tsk);
195 xacct_add_tsk(stats, tsk);
198 exe_add_tsk(stats, tsk);
203 struct task_struct *tsk;
205 tsk = find_get_task_by_vpid(pid);
206 if (!tsk)
208 fill_stats(current_user_ns(), task_active_pid_ns(current), tsk, stats);
209 put_task_struct(tsk);
215 struct task_struct *tsk, *first;
237 for_each_thread(first, tsk) {
238 if (tsk->exit_state)
244 * per-task-foo(stats, tsk);
246 delayacct_add_tsk(stats, tsk);
249 delta = start_time - tsk->start_time;
254 task_cputime(tsk, &utime, &stime);
258 stats->nvcsw += tsk->nvcsw;
259 stats->nivcsw += tsk->nivcsw;
275 static void fill_tgid_exit(struct task_struct *tsk)
279 spin_lock_irqsave(&tsk->sighand->siglock, flags);
280 if (!tsk->signal->stats)
285 * accumalate its per-task stats for tsk, into the per-tgid structure
287 * per-task-foo(tsk->signal->stats, tsk);
289 delayacct_add_tsk(tsk->signal->stats, tsk);
291 spin_unlock_irqrestore(&tsk->sighand->siglock, flags);
571 static struct taskstats *taskstats_tgid_alloc(struct task_struct *tsk)
573 struct signal_struct *sig = tsk->signal;
578 if (stats || thread_group_empty(tsk))
584 spin_lock_irq(&tsk->sighand->siglock);
595 spin_unlock_irq(&tsk->sighand->siglock);
604 void taskstats_exit(struct task_struct *tsk, int group_dead)
621 is_thread_group = !!taskstats_tgid_alloc(tsk);
625 /* fill the tsk->signal->stats structure */
626 fill_tgid_exit(tsk);
638 task_pid_nr_ns(tsk, &init_pid_ns));
642 fill_stats(&init_user_ns, &init_pid_ns, tsk, stats);
647 * Doesn't matter if tsk is the leader or the last group member leaving
653 task_tgid_nr_ns(tsk, &init_pid_ns));
657 memcpy(stats, tsk->signal->stats, sizeof(*stats));