19eacb5c7SThomas Gleixner /* SPDX-License-Identifier: GPL-2.0 */ 29eacb5c7SThomas Gleixner #ifndef _LINUX_SCHED_TYPES_H 39eacb5c7SThomas Gleixner #define _LINUX_SCHED_TYPES_H 49eacb5c7SThomas Gleixner 59eacb5c7SThomas Gleixner #include <linux/types.h> 69eacb5c7SThomas Gleixner 79eacb5c7SThomas Gleixner /** 89eacb5c7SThomas Gleixner * struct task_cputime - collected CPU time counts 99eacb5c7SThomas Gleixner * @stime: time spent in kernel mode, in nanoseconds 1011b8462fSThomas Gleixner * @utime: time spent in user mode, in nanoseconds 119eacb5c7SThomas Gleixner * @sum_exec_runtime: total time spent on the CPU, in nanoseconds 129eacb5c7SThomas Gleixner * 139eacb5c7SThomas Gleixner * This structure groups together three kinds of CPU time that are tracked for 149eacb5c7SThomas Gleixner * threads and thread groups. Most things considering CPU time want to group 159eacb5c7SThomas Gleixner * these counts together and treat all three of them in parallel. 169eacb5c7SThomas Gleixner */ 179eacb5c7SThomas Gleixner struct task_cputime { 189eacb5c7SThomas Gleixner u64 stime; 1911b8462fSThomas Gleixner u64 utime; 209eacb5c7SThomas Gleixner unsigned long long sum_exec_runtime; 219eacb5c7SThomas Gleixner }; 229eacb5c7SThomas Gleixner 23*0f9a1a4dSIngo Molnar #endif /* _LINUX_SCHED_TYPES_H */ 24