xref: /openbmc/linux/include/linux/sched/deadline.h (revision 4f2c0a4acffbec01079c28f839422e64ddeff004)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
2aab03e05SDario Faggioli 
3aab03e05SDario Faggioli /*
4aab03e05SDario Faggioli  * SCHED_DEADLINE tasks has negative priorities, reflecting
5aab03e05SDario Faggioli  * the fact that any of them has higher prio than RT and
6aab03e05SDario Faggioli  * NORMAL/BATCH tasks.
7aab03e05SDario Faggioli  */
8aab03e05SDario Faggioli 
9*fbed5664SIngo Molnar #include <linux/sched.h>
10*fbed5664SIngo Molnar 
11aab03e05SDario Faggioli #define MAX_DL_PRIO		0
12aab03e05SDario Faggioli 
dl_prio(int prio)13aab03e05SDario Faggioli static inline int dl_prio(int prio)
14aab03e05SDario Faggioli {
15aab03e05SDario Faggioli 	if (unlikely(prio < MAX_DL_PRIO))
16aab03e05SDario Faggioli 		return 1;
17aab03e05SDario Faggioli 	return 0;
18aab03e05SDario Faggioli }
19aab03e05SDario Faggioli 
dl_task(struct task_struct * p)20aab03e05SDario Faggioli static inline int dl_task(struct task_struct *p)
21aab03e05SDario Faggioli {
22aab03e05SDario Faggioli 	return dl_prio(p->prio);
23aab03e05SDario Faggioli }
24aab03e05SDario Faggioli 
dl_time_before(u64 a,u64 b)252726d6ceSJuri Lelli static inline bool dl_time_before(u64 a, u64 b)
262726d6ceSJuri Lelli {
272726d6ceSJuri Lelli 	return (s64)(a - b) < 0;
282726d6ceSJuri Lelli }
29f9a25f77SMathieu Poirier 
30f9a25f77SMathieu Poirier #ifdef CONFIG_SMP
31f9a25f77SMathieu Poirier 
32f9a25f77SMathieu Poirier struct root_domain;
33f9a25f77SMathieu Poirier extern void dl_add_task_root_domain(struct task_struct *p);
34f9a25f77SMathieu Poirier extern void dl_clear_root_domain(struct root_domain *rd);
35f9a25f77SMathieu Poirier 
36f9a25f77SMathieu Poirier #endif /* CONFIG_SMP */
37