• Home
  • Raw
  • Download

Lines Matching refs:stats

157 		       struct task_struct *tsk, struct taskstats *stats)  in fill_stats()  argument
159 memset(stats, 0, sizeof(*stats)); in fill_stats()
167 delayacct_add_tsk(stats, tsk); in fill_stats()
170 stats->version = TASKSTATS_VERSION; in fill_stats()
171 stats->nvcsw = tsk->nvcsw; in fill_stats()
172 stats->nivcsw = tsk->nivcsw; in fill_stats()
173 bacct_add_tsk(user_ns, pid_ns, stats, tsk); in fill_stats()
176 xacct_add_tsk(stats, tsk); in fill_stats()
179 static int fill_stats_for_pid(pid_t pid, struct taskstats *stats) in fill_stats_for_pid() argument
186 fill_stats(current_user_ns(), task_active_pid_ns(current), tsk, stats); in fill_stats_for_pid()
191 static int fill_stats_for_tgid(pid_t tgid, struct taskstats *stats) in fill_stats_for_tgid() argument
209 if (first->signal->stats) in fill_stats_for_tgid()
210 memcpy(stats, first->signal->stats, sizeof(*stats)); in fill_stats_for_tgid()
212 memset(stats, 0, sizeof(*stats)); in fill_stats_for_tgid()
225 delayacct_add_tsk(stats, tsk); in fill_stats_for_tgid()
231 stats->ac_etime += delta; in fill_stats_for_tgid()
234 stats->ac_utime += div_u64(utime, NSEC_PER_USEC); in fill_stats_for_tgid()
235 stats->ac_stime += div_u64(stime, NSEC_PER_USEC); in fill_stats_for_tgid()
237 stats->nvcsw += tsk->nvcsw; in fill_stats_for_tgid()
238 stats->nivcsw += tsk->nivcsw; in fill_stats_for_tgid()
246 stats->version = TASKSTATS_VERSION; in fill_stats_for_tgid()
259 if (!tsk->signal->stats) in fill_tgid_exit()
268 delayacct_add_tsk(tsk->signal->stats, tsk); in fill_tgid_exit()
389 struct cgroupstats *stats; in cgroupstats_user_cmd() local
419 stats = nla_data(na); in cgroupstats_user_cmd()
420 memset(stats, 0, sizeof(*stats)); in cgroupstats_user_cmd()
422 rc = cgroupstats_build(stats, f.file->f_path.dentry); in cgroupstats_user_cmd()
480 struct taskstats *stats; in cmd_attr_pid() local
494 stats = mk_reply(rep_skb, TASKSTATS_TYPE_PID, pid); in cmd_attr_pid()
495 if (!stats) in cmd_attr_pid()
498 rc = fill_stats_for_pid(pid, stats); in cmd_attr_pid()
509 struct taskstats *stats; in cmd_attr_tgid() local
523 stats = mk_reply(rep_skb, TASKSTATS_TYPE_TGID, tgid); in cmd_attr_tgid()
524 if (!stats) in cmd_attr_tgid()
527 rc = fill_stats_for_tgid(tgid, stats); in cmd_attr_tgid()
553 struct taskstats *stats_new, *stats; in taskstats_tgid_alloc() local
556 stats = smp_load_acquire(&sig->stats); in taskstats_tgid_alloc()
557 if (stats || thread_group_empty(tsk)) in taskstats_tgid_alloc()
558 return stats; in taskstats_tgid_alloc()
564 stats = sig->stats; in taskstats_tgid_alloc()
565 if (!stats) { in taskstats_tgid_alloc()
570 smp_store_release(&sig->stats, stats_new); in taskstats_tgid_alloc()
571 stats = stats_new; in taskstats_tgid_alloc()
579 return stats; in taskstats_tgid_alloc()
587 struct taskstats *stats; in taskstats_exit() local
616 stats = mk_reply(rep_skb, TASKSTATS_TYPE_PID, in taskstats_exit()
618 if (!stats) in taskstats_exit()
621 fill_stats(&init_user_ns, &init_pid_ns, tsk, stats); in taskstats_exit()
629 stats = mk_reply(rep_skb, TASKSTATS_TYPE_TGID, in taskstats_exit()
631 if (!stats) in taskstats_exit()
634 memcpy(stats, tsk->signal->stats, sizeof(*stats)); in taskstats_exit()