cpupri.h 775 B

1234567891011121314151617181920212223242526272829
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #define CPUPRI_NR_PRIORITIES (MAX_RT_PRIO+1)
  3. #define CPUPRI_INVALID -1
  4. #define CPUPRI_NORMAL 0
  5. /* values 1-99 are for RT1-RT99 priorities */
  6. #define CPUPRI_HIGHER 100
  7. struct cpupri_vec {
  8. atomic_t count;
  9. cpumask_var_t mask;
  10. };
  11. struct cpupri {
  12. struct cpupri_vec pri_to_cpu[CPUPRI_NR_PRIORITIES];
  13. int *cpu_to_pri;
  14. };
  15. #ifdef CONFIG_SMP
  16. int cpupri_find(struct cpupri *cp, struct task_struct *p,
  17. struct cpumask *lowest_mask);
  18. int cpupri_find_fitness(struct cpupri *cp, struct task_struct *p,
  19. struct cpumask *lowest_mask,
  20. bool (*fitness_fn)(struct task_struct *p, int cpu));
  21. void cpupri_set(struct cpupri *cp, int cpu, int pri);
  22. int cpupri_init(struct cpupri *cp);
  23. void cpupri_cleanup(struct cpupri *cp);
  24. #endif