| 
									
										
										
										
											2008-05-12 21:21:01 +02:00
										 |  |  | #ifndef _LINUX_CPUPRI_H
 | 
					
						
							|  |  |  | #define _LINUX_CPUPRI_H
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include <linux/sched.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2008-06-05 10:28:00 +02:00
										 |  |  | #define CPUPRI_NR_PRIORITIES	(MAX_RT_PRIO + 2)
 | 
					
						
							|  |  |  | #define CPUPRI_NR_PRI_WORDS	BITS_TO_LONGS(CPUPRI_NR_PRIORITIES)
 | 
					
						
							| 
									
										
										
										
											2008-05-12 21:21:01 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define CPUPRI_INVALID -1
 | 
					
						
							|  |  |  | #define CPUPRI_IDLE     0
 | 
					
						
							|  |  |  | #define CPUPRI_NORMAL   1
 | 
					
						
							|  |  |  | /* values 2-101 are RT priorities 0-99 */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | struct cpupri_vec { | 
					
						
							| 
									
										
										
										
											2009-11-17 17:59:15 +01:00
										 |  |  | 	raw_spinlock_t lock; | 
					
						
							| 
									
										
										
										
											2008-05-12 21:21:01 +02:00
										 |  |  | 	int        count; | 
					
						
							| 
									
										
										
										
											2008-11-25 02:35:13 +10:30
										 |  |  | 	cpumask_var_t mask; | 
					
						
							| 
									
										
										
										
											2008-05-12 21:21:01 +02:00
										 |  |  | }; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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, | 
					
						
							| 
									
										
										
										
											2009-03-30 22:05:16 -06:00
										 |  |  | 		 struct task_struct *p, struct cpumask *lowest_mask); | 
					
						
							| 
									
										
										
										
											2008-05-12 21:21:01 +02:00
										 |  |  | void cpupri_set(struct cpupri *cp, int cpu, int pri); | 
					
						
							| 
									
										
										
										
											2010-07-15 23:18:22 +03:00
										 |  |  | int cpupri_init(struct cpupri *cp); | 
					
						
							| 
									
										
										
										
											2008-11-25 02:35:13 +10:30
										 |  |  | void cpupri_cleanup(struct cpupri *cp); | 
					
						
							| 
									
										
										
										
											2008-05-12 21:21:01 +02:00
										 |  |  | #else
 | 
					
						
							|  |  |  | #define cpupri_set(cp, cpu, pri) do { } while (0)
 | 
					
						
							|  |  |  | #define cpupri_init() do { } while (0)
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #endif /* _LINUX_CPUPRI_H */
 |