• Home
  • Raw
  • Download

Lines Matching refs:stats

161 		       struct task_struct *tsk, struct taskstats *stats)  in fill_stats()  argument
163 memset(stats, 0, sizeof(*stats)); in fill_stats()
171 delayacct_add_tsk(stats, tsk); in fill_stats()
174 stats->version = TASKSTATS_VERSION; in fill_stats()
175 stats->nvcsw = tsk->nvcsw; in fill_stats()
176 stats->nivcsw = tsk->nivcsw; in fill_stats()
177 bacct_add_tsk(user_ns, pid_ns, stats, tsk); in fill_stats()
180 xacct_add_tsk(stats, tsk); in fill_stats()
183 static int fill_stats_for_pid(pid_t pid, struct taskstats *stats) in fill_stats_for_pid() argument
190 fill_stats(current_user_ns(), task_active_pid_ns(current), tsk, stats); in fill_stats_for_pid()
195 static int fill_stats_for_tgid(pid_t tgid, struct taskstats *stats) in fill_stats_for_tgid() argument
213 if (first->signal->stats) in fill_stats_for_tgid()
214 memcpy(stats, first->signal->stats, sizeof(*stats)); in fill_stats_for_tgid()
216 memset(stats, 0, sizeof(*stats)); in fill_stats_for_tgid()
229 delayacct_add_tsk(stats, tsk); in fill_stats_for_tgid()
235 stats->ac_etime += delta; in fill_stats_for_tgid()
238 stats->ac_utime += div_u64(utime, NSEC_PER_USEC); in fill_stats_for_tgid()
239 stats->ac_stime += div_u64(stime, NSEC_PER_USEC); in fill_stats_for_tgid()
241 stats->nvcsw += tsk->nvcsw; in fill_stats_for_tgid()
242 stats->nivcsw += tsk->nivcsw; in fill_stats_for_tgid()
250 stats->version = TASKSTATS_VERSION; in fill_stats_for_tgid()
263 if (!tsk->signal->stats) in fill_tgid_exit()
272 delayacct_add_tsk(tsk->signal->stats, tsk); in fill_tgid_exit()
393 struct cgroupstats *stats; in cgroupstats_user_cmd() local
423 stats = nla_data(na); in cgroupstats_user_cmd()
424 memset(stats, 0, sizeof(*stats)); in cgroupstats_user_cmd()
426 rc = cgroupstats_build(stats, f.file->f_path.dentry); in cgroupstats_user_cmd()
484 struct taskstats *stats; in cmd_attr_pid() local
498 stats = mk_reply(rep_skb, TASKSTATS_TYPE_PID, pid); in cmd_attr_pid()
499 if (!stats) in cmd_attr_pid()
502 rc = fill_stats_for_pid(pid, stats); in cmd_attr_pid()
513 struct taskstats *stats; in cmd_attr_tgid() local
527 stats = mk_reply(rep_skb, TASKSTATS_TYPE_TGID, tgid); in cmd_attr_tgid()
528 if (!stats) in cmd_attr_tgid()
531 rc = fill_stats_for_tgid(tgid, stats); in cmd_attr_tgid()
557 struct taskstats *stats_new, *stats; in taskstats_tgid_alloc() local
560 stats = smp_load_acquire(&sig->stats); in taskstats_tgid_alloc()
561 if (stats || thread_group_empty(tsk)) in taskstats_tgid_alloc()
562 return stats; in taskstats_tgid_alloc()
568 stats = sig->stats; in taskstats_tgid_alloc()
569 if (!stats) { in taskstats_tgid_alloc()
574 smp_store_release(&sig->stats, stats_new); in taskstats_tgid_alloc()
575 stats = stats_new; in taskstats_tgid_alloc()
583 return stats; in taskstats_tgid_alloc()
591 struct taskstats *stats; in taskstats_exit() local
620 stats = mk_reply(rep_skb, TASKSTATS_TYPE_PID, in taskstats_exit()
622 if (!stats) in taskstats_exit()
625 fill_stats(&init_user_ns, &init_pid_ns, tsk, stats); in taskstats_exit()
633 stats = mk_reply(rep_skb, TASKSTATS_TYPE_TGID, in taskstats_exit()
635 if (!stats) in taskstats_exit()
638 memcpy(stats, tsk->signal->stats, sizeof(*stats)); in taskstats_exit()