Back to home page

OSCL-LXR

 
 

    


0001 /* SPDX-License-Identifier: GPL-2.0 */
0002 
0003 #define CPUPRI_NR_PRIORITIES    (MAX_RT_PRIO+1)
0004 
0005 #define CPUPRI_INVALID      -1
0006 #define CPUPRI_NORMAL        0
0007 /* values 1-99 are for RT1-RT99 priorities */
0008 #define CPUPRI_HIGHER       100
0009 
0010 struct cpupri_vec {
0011     atomic_t        count;
0012     cpumask_var_t       mask;
0013 };
0014 
0015 struct cpupri {
0016     struct cpupri_vec   pri_to_cpu[CPUPRI_NR_PRIORITIES];
0017     int         *cpu_to_pri;
0018 };
0019 
0020 #ifdef CONFIG_SMP
0021 int  cpupri_find(struct cpupri *cp, struct task_struct *p,
0022          struct cpumask *lowest_mask);
0023 int  cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
0024              struct cpumask *lowest_mask,
0025              bool (*fitness_fn)(struct task_struct *p, int cpu));
0026 void cpupri_set(struct cpupri *cp, int cpu, int pri);
0027 int  cpupri_init(struct cpupri *cp);
0028 void cpupri_cleanup(struct cpupri *cp);
0029 #endif