Merge tag 'for-linux-6.12-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / include / linux / sched / stat.h
CommitLineData
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
16extern unsigned long total_forks;
17extern int nr_threads;
18DECLARE_PER_CPU(unsigned long, process_counts);
19extern int nr_processes(void);
01aee8fd 20extern unsigned int nr_running(void);
3605df49 21extern bool single_task_running(void);
97455168 22extern unsigned int nr_iowait(void);
8fc2858e 23extern unsigned int nr_iowait_cpu(int cpu);
3605df49 24
a2d7a746
IM
25static inline int sched_info_on(void)
26{
c5895d3f 27 return IS_ENABLED(CONFIG_SCHED_INFO);
a2d7a746
IM
28}
29
30#ifdef CONFIG_SCHEDSTATS
31void force_schedstat_enabled(void);
32#endif
33
03441a34 34#endif /* _LINUX_SCHED_STAT_H */