]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blame - include/linux/sched/stat.h
Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
[mirror_ubuntu-jammy-kernel.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>
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
15extern unsigned long total_forks;
16extern int nr_threads;
17DECLARE_PER_CPU(unsigned long, process_counts);
18extern int nr_processes(void);
19extern unsigned long nr_running(void);
20extern bool single_task_running(void);
21extern unsigned long nr_iowait(void);
22extern unsigned long nr_iowait_cpu(int cpu);
3605df49 23
a2d7a746
IM
24static 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
37void force_schedstat_enabled(void);
38#endif
39
03441a34 40#endif /* _LINUX_SCHED_STAT_H */