aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/kernel_stat.h2
-rw-r--r--include/linux/sched.h2
-rw-r--r--include/linux/taskstats.h11
3 files changed, 12 insertions, 3 deletions
diff --git a/include/linux/kernel_stat.h b/include/linux/kernel_stat.h
index 12bf44f083f5..e8ffce898bf9 100644
--- a/include/linux/kernel_stat.h
+++ b/include/linux/kernel_stat.h
@@ -53,7 +53,9 @@ static inline int kstat_irqs(int irq)
53} 53}
54 54
55extern void account_user_time(struct task_struct *, cputime_t); 55extern void account_user_time(struct task_struct *, cputime_t);
56extern void account_user_time_scaled(struct task_struct *, cputime_t);
56extern void account_system_time(struct task_struct *, int, cputime_t); 57extern void account_system_time(struct task_struct *, int, cputime_t);
58extern void account_system_time_scaled(struct task_struct *, cputime_t);
57extern void account_steal_time(struct task_struct *, cputime_t); 59extern void account_steal_time(struct task_struct *, cputime_t);
58 60
59#endif /* _LINUX_KERNEL_STAT_H */ 61#endif /* _LINUX_KERNEL_STAT_H */
diff --git a/include/linux/sched.h b/include/linux/sched.h
index 269b234609b8..7accc04e23ab 100644
--- a/include/linux/sched.h
+++ b/include/linux/sched.h
@@ -991,7 +991,7 @@ struct task_struct {
991 int __user *clear_child_tid; /* CLONE_CHILD_CLEARTID */ 991 int __user *clear_child_tid; /* CLONE_CHILD_CLEARTID */
992 992
993 unsigned int rt_priority; 993 unsigned int rt_priority;
994 cputime_t utime, stime; 994 cputime_t utime, stime, utimescaled, stimescaled;
995 cputime_t gtime; 995 cputime_t gtime;
996 unsigned long nvcsw, nivcsw; /* context switch counts */ 996 unsigned long nvcsw, nivcsw; /* context switch counts */
997 struct timespec start_time; /* monotonic time */ 997 struct timespec start_time; /* monotonic time */
diff --git a/include/linux/taskstats.h b/include/linux/taskstats.h
index dce1ed204972..92bfd1c153fb 100644
--- a/include/linux/taskstats.h
+++ b/include/linux/taskstats.h
@@ -31,7 +31,7 @@
31 */ 31 */
32 32
33 33
34#define TASKSTATS_VERSION 5 34#define TASKSTATS_VERSION 6
35#define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN 35#define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN
36 * in linux/sched.h */ 36 * in linux/sched.h */
37 37
@@ -85,9 +85,12 @@ struct taskstats {
85 * On some architectures, value will adjust for cpu time stolen 85 * On some architectures, value will adjust for cpu time stolen
86 * from the kernel in involuntary waits due to virtualization. 86 * from the kernel in involuntary waits due to virtualization.
87 * Value is cumulative, in nanoseconds, without a corresponding count 87 * Value is cumulative, in nanoseconds, without a corresponding count
88 * and wraps around to zero silently on overflow 88 * and wraps around to zero silently on overflow. The
89 * _scaled_ version accounts for cpus which can scale the
90 * number of instructions executed each cycle.
89 */ 91 */
90 __u64 cpu_run_real_total; 92 __u64 cpu_run_real_total;
93 __u64 cpu_scaled_run_real_total;
91 94
92 /* cpu "virtual" running time 95 /* cpu "virtual" running time
93 * Uses time intervals seen by the kernel i.e. no adjustment 96 * Uses time intervals seen by the kernel i.e. no adjustment
@@ -142,6 +145,10 @@ struct taskstats {
142 __u64 write_char; /* bytes written */ 145 __u64 write_char; /* bytes written */
143 __u64 read_syscalls; /* read syscalls */ 146 __u64 read_syscalls; /* read syscalls */
144 __u64 write_syscalls; /* write syscalls */ 147 __u64 write_syscalls; /* write syscalls */
148
149 /* time accounting for SMT machines */
150 __u64 ac_utimescaled; /* utime scaled on frequency etc */
151 __u64 ac_stimescaled; /* stime scaled on frequency etc */
145 /* Extended accounting fields end */ 152 /* Extended accounting fields end */
146 153
147#define TASKSTATS_HAS_IO_ACCOUNTING 154#define TASKSTATS_HAS_IO_ACCOUNTING