[PATCH 8/8] taskstats: avoid breaking binary compatibility betweentaskstats v6 and before

From: Guillaume Chazarain
Date: Wed Sep 26 2007 - 13:10:52 EST


Place fields added in v6 at the end of the struct.

Signed-off-by: Guillaume Chazarain <guichaz@xxxxxxxx>
Cc: Michael Neuling <mikey@xxxxxxxxxxx>
Cc: Balbir Singh <balbir@xxxxxxxxxx>
Cc: Jay Lan <jlan@xxxxxxxxxxxx>
Cc: Jonathan Lim <jlim@xxxxxxx>
Cc: Oleg Nesterov <oleg@xxxxxxxxxx>
---

include/linux/taskstats.h | 18 +++++++++++-------
1 files changed, 11 insertions(+), 7 deletions(-)


diff --git a/include/linux/taskstats.h b/include/linux/taskstats.h
index 92bfd1c..dc6850c 100644
--- a/include/linux/taskstats.h
+++ b/include/linux/taskstats.h
@@ -85,12 +85,9 @@ struct taskstats {
* On some architectures, value will adjust for cpu time stolen
* from the kernel in involuntary waits due to virtualization.
* Value is cumulative, in nanoseconds, without a corresponding count
- * and wraps around to zero silently on overflow. The
- * _scaled_ version accounts for cpus which can scale the
- * number of instructions executed each cycle.
+ * and wraps around to zero silently on overflow.
*/
__u64 cpu_run_real_total;
- __u64 cpu_scaled_run_real_total;

/* cpu "virtual" running time
* Uses time intervals seen by the kernel i.e. no adjustment
@@ -146,9 +143,6 @@ struct taskstats {
__u64 read_syscalls; /* read syscalls */
__u64 write_syscalls; /* write syscalls */

- /* time accounting for SMT machines */
- __u64 ac_utimescaled; /* utime scaled on frequency etc */
- __u64 ac_stimescaled; /* stime scaled on frequency etc */
/* Extended accounting fields end */

#define TASKSTATS_HAS_IO_ACCOUNTING
@@ -159,6 +153,16 @@ struct taskstats {

__u64 nvcsw; /* voluntary_ctxt_switches */
__u64 nivcsw; /* nonvoluntary_ctxt_switches */
+
+ /*
+ * Same as cpu_run_real_total but accounts for cpus which can scale the
+ * number of instructions executed each cycle.
+ */
+ __u64 cpu_scaled_run_real_total;
+
+ /* time accounting for SMT machines */
+ __u64 ac_utimescaled; /* utime scaled on frequency etc */
+ __u64 ac_stimescaled; /* stime scaled on frequency etc */
};


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/