xref: /linux-6.15/include/linux/sched/types.h (revision 0f9a1a4d)
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