| #ifndef _LINUX_CPUPRI_H | 
 | #define _LINUX_CPUPRI_H | 
 |  | 
 | #include <linux/sched.h> | 
 |  | 
 | #define CPUPRI_NR_PRIORITIES	(MAX_RT_PRIO + 2) | 
 | #define CPUPRI_NR_PRI_WORDS	BITS_TO_LONGS(CPUPRI_NR_PRIORITIES) | 
 |  | 
 | #define CPUPRI_INVALID -1 | 
 | #define CPUPRI_IDLE     0 | 
 | #define CPUPRI_NORMAL   1 | 
 | /* values 2-101 are RT priorities 0-99 */ | 
 |  | 
 | struct cpupri_vec { | 
 | 	raw_spinlock_t lock; | 
 | 	int        count; | 
 | 	cpumask_var_t mask; | 
 | }; | 
 |  | 
 | struct cpupri { | 
 | 	struct cpupri_vec pri_to_cpu[CPUPRI_NR_PRIORITIES]; | 
 | 	long              pri_active[CPUPRI_NR_PRI_WORDS]; | 
 | 	int               cpu_to_pri[NR_CPUS]; | 
 | }; | 
 |  | 
 | #ifdef CONFIG_SMP | 
 | int  cpupri_find(struct cpupri *cp, | 
 | 		 struct task_struct *p, struct cpumask *lowest_mask); | 
 | void cpupri_set(struct cpupri *cp, int cpu, int pri); | 
 | int cpupri_init(struct cpupri *cp, bool bootmem); | 
 | void cpupri_cleanup(struct cpupri *cp); | 
 | #else | 
 | #define cpupri_set(cp, cpu, pri) do { } while (0) | 
 | #define cpupri_init() do { } while (0) | 
 | #endif | 
 |  | 
 | #endif /* _LINUX_CPUPRI_H */ |