mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-29 14:05:19 +08:00
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>
30 lines
775 B
C
30 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
|