Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
6e0534f2 | 2 | |
b13772f8 | 3 | #define CPUPRI_NR_PRIORITIES (MAX_RT_PRIO+1) |
6e0534f2 | 4 | |
97fb7a0a | 5 | #define CPUPRI_INVALID -1 |
5e054bca | 6 | #define CPUPRI_NORMAL 0 |
1b08782c | 7 | /* values 1-99 are for RT1-RT99 priorities */ |
b13772f8 | 8 | #define CPUPRI_HIGHER 100 |
6e0534f2 GH |
9 | |
10 | struct cpupri_vec { | |
97fb7a0a IM |
11 | atomic_t count; |
12 | cpumask_var_t mask; | |
6e0534f2 GH |
13 | }; |
14 | ||
15 | struct cpupri { | |
97fb7a0a IM |
16 | struct cpupri_vec pri_to_cpu[CPUPRI_NR_PRIORITIES]; |
17 | int *cpu_to_pri; | |
6e0534f2 GH |
18 | }; |
19 | ||
20 | #ifdef CONFIG_SMP | |
804d402f | 21 | int cpupri_find(struct cpupri *cp, struct task_struct *p, |
a1bd02e1 QY |
22 | struct cpumask *lowest_mask); |
23 | int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p, | |
24 | struct cpumask *lowest_mask, | |
25 | bool (*fitness_fn)(struct task_struct *p, int cpu)); | |
6e0534f2 | 26 | void cpupri_set(struct cpupri *cp, int cpu, int pri); |
97fb7a0a | 27 | int cpupri_init(struct cpupri *cp); |
68e74568 | 28 | void cpupri_cleanup(struct cpupri *cp); |
6e0534f2 | 29 | #endif |