0001
0002
0003 #define CPUPRI_NR_PRIORITIES (MAX_RT_PRIO+1)
0004
0005 #define CPUPRI_INVALID -1
0006 #define CPUPRI_NORMAL 0
0007
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