forked from Qortal/Brooklyn
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
775 B
29 lines
775 B
/* 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
|
|
|