rusage
struct rusage r;
struct rusage;
extern int put_compat_rusage(const struct rusage *,
void getrusage(struct task_struct *p, int who, struct rusage *ru);
extern long kernel_wait4(pid_t, int __user *, int, struct rusage *);
struct rusage;
struct rusage;
int options, struct rusage __user *ru);
asmlinkage long sys_getrusage(int who, struct rusage __user *ru);
int options, struct rusage __user *ru);
int put_compat_rusage(const struct rusage *r, struct compat_rusage __user *ru)
struct rusage *ru)
int options, struct rusage *ru)
infop, int, options, struct rusage __user *, ru)
struct rusage r;
if (ru && copy_to_user(ru, &r, sizeof(struct rusage)))
struct rusage *ru)
int, options, struct rusage __user *, ru)
struct rusage r;
if (ru && copy_to_user(ru, &r, sizeof(struct rusage)))
struct rusage r;
struct rusage ru;
struct rusage *wo_rusage;
struct rusage *ru);
static void accumulate_thread_rusage(struct task_struct *t, struct rusage *r)
void getrusage(struct task_struct *p, int who, struct rusage *r)
SYSCALL_DEFINE2(getrusage, int, who, struct rusage __user *, ru)
struct rusage r;
struct rusage r;
int sys_waitid(int which, pid_t pid, siginfo_t *infop, int options, struct rusage *rusage)
return my_syscall5(__NR_waitid, which, pid, infop, options, rusage);
struct rusage rusage;
wait4(data->pid, &status, 0, &rusage);
*max_rss = rusage.ru_maxrss;
struct rusage rusage;
getrusage(RUSAGE_THREAD, &rusage);
td->system_time_ns = rusage.ru_stime.tv_sec * NSEC_PER_SEC;
td->system_time_ns += rusage.ru_stime.tv_usec * NSEC_PER_USEC;
td->user_time_ns = rusage.ru_utime.tv_sec * NSEC_PER_SEC;
td->user_time_ns += rusage.ru_utime.tv_usec * NSEC_PER_USEC;
struct rusage ru;
static void update_rusage_stats(const struct rusage *rusage)
(rusage->ru_utime.tv_usec * us_to_ns + rusage->ru_utime.tv_sec * s_to_ns));
(rusage->ru_stime.tv_usec * us_to_ns + rusage->ru_stime.tv_sec * s_to_ns));
struct rusage ru_data;
struct rusage r;
struct rusage ru;