]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/taskstats.h
[PATCH] csa: Extended system accounting over taskstats
[linux-2.6-omap-h63xx.git] / include / linux / taskstats.h
index f1cb6cddd19d70959c966e0faaca16de4dcac457..3d2c304886b03e4361bb33a2371807fa7f194afd 100644 (file)
@@ -2,6 +2,7 @@
  *
  * Copyright (C) Shailabh Nagar, IBM Corp. 2006
  *           (C) Balbir Singh,   IBM Corp. 2006
+ *           (C) Jay Lan,        SGI, 2006
  *
  * This program is free software; you can redistribute it and/or modify it
  * under the terms of version 2.1 of the GNU Lesser General Public License
  *     c) add new fields after version comment; maintain 64-bit alignment
  */
 
-#define TASKSTATS_VERSION      1
+
+#define TASKSTATS_VERSION      2
+#define TS_COMM_LEN            16      /* should sync up with TASK_COMM_LEN
+                                        * in linux/sched.h */
 
 struct taskstats {
 
        /* Version 1 */
        __u16   version;
-       __u16   padding[3];     /* Userspace should not interpret the padding
-                                * field which can be replaced by useful
-                                * fields if struct taskstats is extended.
-                                */
+       __u32   ac_exitcode;    /* Exit status */
+       __u8    ac_flag;                /* Record flags */
+       __u8    ac_nice;                /* task_nice */
 
        /* Delay accounting fields start
         *
@@ -88,6 +91,33 @@ struct taskstats {
        __u64   cpu_run_virtual_total;
        /* Delay accounting fields end */
        /* version 1 ends here */
+
+       /* Basic Accounting Fields start */
+       char    ac_comm[TS_COMM_LEN];   /* Command name */
+       __u8    ac_sched;               /* Scheduling discipline */
+       __u8    ac_pad[3];
+       __u32   ac_uid;                 /* User ID */
+       __u32   ac_gid;                 /* Group ID */
+       __u32   ac_pid;                 /* Process ID */
+       __u32   ac_ppid;                /* Parent process ID */
+       __u32   ac_btime;               /* Begin time [sec since 1970] */
+       __u64   ac_etime;               /* Elapsed time [usec] */
+       __u64   ac_utime;               /* User CPU time [usec] */
+       __u64   ac_stime;               /* SYstem CPU time [usec] */
+       __u64   ac_minflt;              /* Minor Page Fault */
+       __u64   ac_majflt;              /* Major Page Fault */
+       /* Basic Accounting Fields end */
+
+       /* Extended accounting fields start */
+       __u64   acct_rss_mem1;          /* accumulated rss usage */
+       __u64   acct_vm_mem1;           /* accumulated virtual memory usage */
+       __u64   hiwater_rss;            /* High-watermark of RSS usage */
+       __u64   hiwater_vm;             /* High-water virtual memory usage */
+       __u64   read_char;              /* bytes read */
+       __u64   write_char;             /* bytes written */
+       __u64   read_syscalls;          /* read syscalls */
+       __u64   write_syscalls;         /* write syscalls */
+       /* Extended accounting fields end */
 };