linux/include/linux/sched/rt.h
<<
>>
Prefs
   1#ifndef _SCHED_RT_H
   2#define _SCHED_RT_H
   3
   4#include <linux/sched/prio.h>
   5
   6static inline int rt_prio(int prio)
   7{
   8        if (unlikely(prio < MAX_RT_PRIO))
   9                return 1;
  10        return 0;
  11}
  12
  13static inline int rt_task(struct task_struct *p)
  14{
  15        return rt_prio(p->prio);
  16}
  17
  18#ifdef CONFIG_RT_MUTEXES
  19extern int rt_mutex_getprio(struct task_struct *p);
  20extern void rt_mutex_setprio(struct task_struct *p, int prio);
  21extern int rt_mutex_get_effective_prio(struct task_struct *task, int newprio);
  22extern struct task_struct *rt_mutex_get_top_task(struct task_struct *task);
  23extern void rt_mutex_adjust_pi(struct task_struct *p);
  24static inline bool tsk_is_pi_blocked(struct task_struct *tsk)
  25{
  26        return tsk->pi_blocked_on != NULL;
  27}
  28#else
  29static inline int rt_mutex_getprio(struct task_struct *p)
  30{
  31        return p->normal_prio;
  32}
  33
  34static inline int rt_mutex_get_effective_prio(struct task_struct *task,
  35                                              int newprio)
  36{
  37        return newprio;
  38}
  39
  40static inline struct task_struct *rt_mutex_get_top_task(struct task_struct *task)
  41{
  42        return NULL;
  43}
  44# define rt_mutex_adjust_pi(p)          do { } while (0)
  45static inline bool tsk_is_pi_blocked(struct task_struct *tsk)
  46{
  47        return false;
  48}
  49#endif
  50
  51extern void normalize_rt_tasks(void);
  52
  53
  54/*
  55 * default timeslice is 100 msecs (used only for SCHED_RR tasks).
  56 * Timeslices get refilled after they expire.
  57 */
  58#define RR_TIMESLICE            (100 * HZ / 1000)
  59
  60#endif /* _SCHED_RT_H */
  61