35 lines
		
	
	
		
			887 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
		
			887 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* 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 */
 |