summaryrefslogtreecommitdiff
path: root/include/linux/sched/stat.h
diff options
context:
space:
mode:
authorIngo Molnar <mingo@kernel.org>2017-02-03 11:03:12 +0100
committerIngo Molnar <mingo@kernel.org>2017-03-03 01:43:43 +0100
commit3605df49556ebb7641d1f8ec2e7eeecf4dd734bf (patch)
treebf4c1567d269ab0fb2baf6aeefc00540d7d1eacd /include/linux/sched/stat.h
parent74444edaa0b2ef946e846d5ddf1ba90efcd7c200 (diff)
sched/headers: Move task statistics APIs from <linux/sched.h> to <linux/sched/stat.h>
There are a number of task statistics related variables and methods exported via sched.h - collect them into <linux/sched/stat.h> and include it from their usage sites. Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Mike Galbraith <efault@gmx.de> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-kernel@vger.kernel.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux/sched/stat.h')
-rw-r--r--include/linux/sched/stat.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/include/linux/sched/stat.h b/include/linux/sched/stat.h
index 30fe012aecb0..0d52ceb6d3ae 100644
--- a/include/linux/sched/stat.h
+++ b/include/linux/sched/stat.h
@@ -3,4 +3,22 @@
#include <linux/sched.h>
+/*
+ * Various counters maintained by the scheduler and fork(),
+ * exposed via /proc, sys.c or used by drivers via these APIs.
+ *
+ * ( Note that all these values are aquired without locking,
+ * so they can only be relied on in narrow circumstances. )
+ */
+
+extern unsigned long total_forks;
+extern int nr_threads;
+DECLARE_PER_CPU(unsigned long, process_counts);
+extern int nr_processes(void);
+extern unsigned long nr_running(void);
+extern bool single_task_running(void);
+extern unsigned long nr_iowait(void);
+extern unsigned long nr_iowait_cpu(int cpu);
+extern void get_iowait_load(unsigned long *nr_waiters, unsigned long *load);
+
#endif /* _LINUX_SCHED_STAT_H */