1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef _LINUX_SCHED_STAT_H
3#define _LINUX_SCHED_STAT_H
4
5#include <linux/percpu.h>
6#include <linux/kconfig.h>
7
8/*
9 * Various counters maintained by the scheduler and fork(),
10 * exposed via /proc, sys.c or used by drivers via these APIs.
11 *
12 * ( Note that all these values are acquired without locking,
13 * so they can only be relied on in narrow circumstances. )
14 */
15
16extern unsigned long total_forks;
17extern int nr_threads;
18DECLARE_PER_CPU(unsigned long, process_counts);
19extern int nr_processes(void);
20extern unsigned int nr_running(void);
21extern bool single_task_running(void);
22extern unsigned int nr_iowait(void);
23extern unsigned int nr_iowait_cpu(int cpu);
24
25static inline int sched_info_on(void)
26{
27 return IS_ENABLED(CONFIG_SCHED_INFO);
28}
29
30#ifdef CONFIG_SCHEDSTATS
31void force_schedstat_enabled(void);
32#endif
33
34#endif /* _LINUX_SCHED_STAT_H */
35

source code of linux/include/linux/sched/stat.h