]>
Commit | Line | Data |
---|---|---|
6e0534f2 GH |
1 | #ifndef _LINUX_CPUPRI_H |
2 | #define _LINUX_CPUPRI_H | |
3 | ||
4 | #include <linux/sched.h> | |
5 | ||
e539d8fc TG |
6 | #define CPUPRI_NR_PRIORITIES (MAX_RT_PRIO + 2) |
7 | #define CPUPRI_NR_PRI_WORDS BITS_TO_LONGS(CPUPRI_NR_PRIORITIES) | |
6e0534f2 GH |
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 | ||
14 | struct cpupri_vec { | |
fe841226 | 15 | raw_spinlock_t lock; |
6e0534f2 | 16 | int count; |
68e74568 | 17 | cpumask_var_t mask; |
6e0534f2 GH |
18 | }; |
19 | ||
20 | struct 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 | |
27 | int cpupri_find(struct cpupri *cp, | |
612a726f | 28 | struct task_struct *p, struct cpumask *lowest_mask); |
6e0534f2 | 29 | void cpupri_set(struct cpupri *cp, int cpu, int pri); |
68c38fc3 | 30 | int cpupri_init(struct cpupri *cp); |
68e74568 | 31 | void cpupri_cleanup(struct cpupri *cp); |
6e0534f2 GH |
32 | #else |
33 | #define cpupri_set(cp, cpu, pri) do { } while (0) | |
34 | #define cpupri_init() do { } while (0) | |
35 | #endif | |
36 | ||
37 | #endif /* _LINUX_CPUPRI_H */ |