12345678910111213141516171819202122232425262728293031323334 |
- /* SPDX-License-Identifier: GPL-2.0 */
- #ifndef _LINUX_SCHED_STAT_H
- #define _LINUX_SCHED_STAT_H
- #include <linux/percpu.h>
- #include <linux/kconfig.h>
- /*
- * Various counters maintained by the scheduler and fork(),
- * exposed via /proc, sys.c or used by drivers via these APIs.
- *
- * ( Note that all these values are acquired without locking,
- * so they can only be relied on in narrow circumstances. )
- */
- extern unsigned long total_forks;
- extern int nr_threads;
- DECLARE_PER_CPU(unsigned long, process_counts);
- extern int nr_processes(void);
- extern unsigned int nr_running(void);
- extern bool single_task_running(void);
- extern unsigned int nr_iowait(void);
- extern unsigned int nr_iowait_cpu(int cpu);
- static inline int sched_info_on(void)
- {
- return IS_ENABLED(CONFIG_SCHED_INFO);
- }
- #ifdef CONFIG_SCHEDSTATS
- void force_schedstat_enabled(void);
- #endif
- #endif /* _LINUX_SCHED_STAT_H */
|