1#ifndef _LINUX_CPUPRI_H 2#define _LINUX_CPUPRI_H 3 4#include <linux/sched.h> 5 6#define CPUPRI_NR_PRIORITIES (MAX_RT_PRIO + 2) 7#define CPUPRI_NR_PRI_WORDS BITS_TO_LONGS(CPUPRI_NR_PRIORITIES) 8 9#define CPUPRI_INVALID -1 10#define CPUPRI_IDLE 0 11#define CPUPRI_NORMAL 1 12/* values 2-101 are RT priorities 0-99 */ 13 14struct cpupri_vec { 15 spinlock_t lock; 16 int count; 17 cpumask_t mask; 18}; 19 20struct cpupri { 21 struct cpupri_vec pri_to_cpu[CPUPRI_NR_PRIORITIES]; 22 long pri_active[CPUPRI_NR_PRI_WORDS]; 23 int cpu_to_pri[NR_CPUS]; 24}; 25 26#ifdef CONFIG_SMP 27int cpupri_find(struct cpupri *cp, 28 struct task_struct *p, cpumask_t *lowest_mask); 29void cpupri_set(struct cpupri *cp, int cpu, int pri); 30void cpupri_init(struct cpupri *cp); 31#else 32#define cpupri_set(cp, cpu, pri) do { } while (0) 33#define cpupri_init() do { } while (0) 34#endif 35 36#endif /* _LINUX_CPUPRI_H */ 37