Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git] / include / linux / kernel_stat.h
index 4594ccc..b462490 100644 (file)
@@ -6,6 +6,8 @@
 #include <linux/smp.h>
 #include <linux/threads.h>
 #include <linux/percpu.h>
+#include <linux/cpumask.h>
+#include <asm/cputime.h>
 
 /*
  * 'kernel_stat.h' contains the definitions needed for doing
  */
 
 struct cpu_usage_stat {
-       u64 user;
-       u64 nice;
-       u64 system;
-       u64 softirq;
-       u64 irq;
-       u64 idle;
-       u64 iowait;
+       cputime64_t user;
+       cputime64_t nice;
+       cputime64_t system;
+       cputime64_t softirq;
+       cputime64_t irq;
+       cputime64_t idle;
+       cputime64_t iowait;
+       cputime64_t steal;
 };
 
 struct kernel_stat {
@@ -41,13 +44,16 @@ extern unsigned long long nr_context_switches(void);
  */
 static inline int kstat_irqs(int irq)
 {
-       int i, sum=0;
+       int cpu, sum = 0;
 
-       for (i = 0; i < NR_CPUS; i++)
-               if (cpu_possible(i))
-                       sum += kstat_cpu(i).irqs[irq];
+       for_each_possible_cpu(cpu)
+               sum += kstat_cpu(cpu).irqs[irq];
 
        return sum;
 }
 
+extern void account_user_time(struct task_struct *, cputime_t);
+extern void account_system_time(struct task_struct *, int, cputime_t);
+extern void account_steal_time(struct task_struct *, cputime_t);
+
 #endif /* _LINUX_KERNEL_STAT_H */