]>
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 | * | |
dfcb245e | 11 | * ( Note that all these values are acquired without locking, |
3605df49 IM |
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); | |
3605df49 | 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 */ |