]>
Commit | Line | Data |
---|---|---|
03441a34 IM |
1 | #ifndef _LINUX_SCHED_STAT_H |
2 | #define _LINUX_SCHED_STAT_H | |
3 | ||
dc199539 | 4 | #include <linux/percpu.h> |
03441a34 | 5 | |
3605df49 IM |
6 | /* |
7 | * Various counters maintained by the scheduler and fork(), | |
8 | * exposed via /proc, sys.c or used by drivers via these APIs. | |
9 | * | |
10 | * ( Note that all these values are aquired without locking, | |
11 | * so they can only be relied on in narrow circumstances. ) | |
12 | */ | |
13 | ||
14 | extern unsigned long total_forks; | |
15 | extern int nr_threads; | |
16 | DECLARE_PER_CPU(unsigned long, process_counts); | |
17 | extern int nr_processes(void); | |
18 | extern unsigned long nr_running(void); | |
19 | extern bool single_task_running(void); | |
20 | extern unsigned long nr_iowait(void); | |
21 | extern unsigned long nr_iowait_cpu(int cpu); | |
22 | extern void get_iowait_load(unsigned long *nr_waiters, unsigned long *load); | |
23 | ||
a2d7a746 IM |
24 | static inline int sched_info_on(void) |
25 | { | |
26 | #ifdef CONFIG_SCHEDSTATS | |
27 | return 1; | |
28 | #elif defined(CONFIG_TASK_DELAY_ACCT) | |
29 | extern int delayacct_on; | |
30 | return delayacct_on; | |
31 | #else | |
32 | return 0; | |
33 | #endif | |
34 | } | |
35 | ||
36 | #ifdef CONFIG_SCHEDSTATS | |
37 | void force_schedstat_enabled(void); | |
38 | #endif | |
39 | ||
03441a34 | 40 | #endif /* _LINUX_SCHED_STAT_H */ |