mirror of
				https://github.com/torvalds/linux.git
				synced 2025-10-31 00:28:52 +02:00 
			
		
		
		
	 b13772f813
			
		
	
	
		b13772f813
		
	
	
	
	
		
			
			Add CPUPRI_HIGHER above the RT99 priority to denote the CPU is in use by higher priority tasks (specifically deadline). XXX: we should probably drive PUSH-PULL from cpupri, that would automagically result in an RT-PUSH when DL sets cpupri to CPUPRI_HIGHER. Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org> Reviewed-by: Dietmar Eggemann <dietmar.eggemann@arm.com>
		
			
				
	
	
		
			29 lines
		
	
	
	
		
			775 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			29 lines
		
	
	
	
		
			775 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| 
 | |
| #define CPUPRI_NR_PRIORITIES	(MAX_RT_PRIO+1)
 | |
| 
 | |
| #define CPUPRI_INVALID		-1
 | |
| #define CPUPRI_NORMAL		 0
 | |
| /* values 1-99 are for RT1-RT99 priorities */
 | |
| #define CPUPRI_HIGHER		100
 | |
| 
 | |
| struct cpupri_vec {
 | |
| 	atomic_t		count;
 | |
| 	cpumask_var_t		mask;
 | |
| };
 | |
| 
 | |
| struct cpupri {
 | |
| 	struct cpupri_vec	pri_to_cpu[CPUPRI_NR_PRIORITIES];
 | |
| 	int			*cpu_to_pri;
 | |
| };
 | |
| 
 | |
| #ifdef CONFIG_SMP
 | |
| int  cpupri_find(struct cpupri *cp, struct task_struct *p,
 | |
| 		 struct cpumask *lowest_mask);
 | |
| int  cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
 | |
| 			 struct cpumask *lowest_mask,
 | |
| 			 bool (*fitness_fn)(struct task_struct *p, int cpu));
 | |
| void cpupri_set(struct cpupri *cp, int cpu, int pri);
 | |
| int  cpupri_init(struct cpupri *cp);
 | |
| void cpupri_cleanup(struct cpupri *cp);
 | |
| #endif
 |