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 Faggiolistatic 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 Faggiolistatic 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 Lellistatic 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