1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | #ifndef _LINUX_SCHED_DEADLINE_H |
3 | #define _LINUX_SCHED_DEADLINE_H |
4 | |
5 | /* |
6 | * SCHED_DEADLINE tasks has negative priorities, reflecting |
7 | * the fact that any of them has higher prio than RT and |
8 | * NORMAL/BATCH tasks. |
9 | */ |
10 | |
11 | #include <linux/sched.h> |
12 | |
13 | #define MAX_DL_PRIO 0 |
14 | |
15 | static inline int dl_prio(int prio) |
16 | { |
17 | if (unlikely(prio < MAX_DL_PRIO)) |
18 | return 1; |
19 | return 0; |
20 | } |
21 | |
22 | static inline int dl_task(struct task_struct *p) |
23 | { |
24 | return dl_prio(prio: p->prio); |
25 | } |
26 | |
27 | static inline bool dl_time_before(u64 a, u64 b) |
28 | { |
29 | return (s64)(a - b) < 0; |
30 | } |
31 | |
32 | #ifdef CONFIG_SMP |
33 | |
34 | struct root_domain; |
35 | extern void dl_add_task_root_domain(struct task_struct *p); |
36 | extern void dl_clear_root_domain(struct root_domain *rd); |
37 | |
38 | #endif /* CONFIG_SMP */ |
39 | |
40 | #endif /* _LINUX_SCHED_DEADLINE_H */ |
41 | |