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