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> |
c5895d3f | 6 | #include <linux/kconfig.h> |
03441a34 | 7 | |
3605df49 IM |
8 | /* |
9 | * Various counters maintained by the scheduler and fork(), | |
10 | * exposed via /proc, sys.c or used by drivers via these APIs. | |
11 | * | |
dfcb245e | 12 | * ( Note that all these values are acquired without locking, |
3605df49 IM |
13 | * so they can only be relied on in narrow circumstances. ) |
14 | */ | |
15 | ||
16 | extern unsigned long total_forks; | |
17 | extern int nr_threads; | |
18 | DECLARE_PER_CPU(unsigned long, process_counts); | |
19 | extern int nr_processes(void); | |
01aee8fd | 20 | extern unsigned int nr_running(void); |
3605df49 | 21 | extern bool single_task_running(void); |
97455168 | 22 | extern unsigned int nr_iowait(void); |
8fc2858e | 23 | extern unsigned int nr_iowait_cpu(int cpu); |
3605df49 | 24 | |
a2d7a746 IM |
25 | static inline int sched_info_on(void) |
26 | { | |
c5895d3f | 27 | return IS_ENABLED(CONFIG_SCHED_INFO); |
a2d7a746 IM |
28 | } |
29 | ||
30 | #ifdef CONFIG_SCHEDSTATS | |
31 | void force_schedstat_enabled(void); | |
32 | #endif | |
33 | ||
03441a34 | 34 | #endif /* _LINUX_SCHED_STAT_H */ |