sched_dl_entity
struct sched_dl_entity *pi_se;
struct sched_dl_entity;
struct sched_dl_entity dl;
struct sched_dl_entity *dl_server;
static inline bool dl_server(struct sched_dl_entity *dl_se)
static inline struct task_struct *dl_task_of(struct sched_dl_entity *dl_se)
static inline bool dl_is_implicit(struct sched_dl_entity *dl_se)
TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type),
TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type),
TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type),
TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type),
TP_PROTO(struct sched_dl_entity *dl_se, int cpu, u8 type),
const struct sched_dl_entity *a_dl, *b_dl;
const struct sched_dl_entity *dl_se = &p->dl;
static void update_dl_entity(struct sched_dl_entity *dl_se)
static inline bool is_dl_boosted(struct sched_dl_entity *dl_se)
static inline u64 dl_next_period(struct sched_dl_entity *dl_se)
static int start_dl_timer(struct sched_dl_entity *dl_se)
static inline u8 dl_get_type(struct sched_dl_entity *dl_se, struct rq *rq)
static enum hrtimer_restart dl_server_timer(struct hrtimer *timer, struct sched_dl_entity *dl_se)
struct sched_dl_entity *dl_se = container_of(timer,
struct sched_dl_entity,
static void init_dl_task_timer(struct sched_dl_entity *dl_se)
static inline void dl_check_constrained_dl(struct sched_dl_entity *dl_se)
int dl_runtime_exceeded(struct sched_dl_entity *dl_se)
static u64 grub_reclaim(u64 delta, struct rq *rq, struct sched_dl_entity *dl_se)
s64 dl_scaled_delta_exec(struct rq *rq, struct sched_dl_entity *dl_se, s64 delta_exec)
update_stats_dequeue_dl(struct dl_rq *dl_rq, struct sched_dl_entity *dl_se, int flags);
static void update_curr_dl_se(struct rq *rq, struct sched_dl_entity *dl_se, s64 delta_exec)
void dl_server_update_idle(struct sched_dl_entity *dl_se, s64 delta_exec)
void dl_server_update(struct sched_dl_entity *dl_se, s64 delta_exec)
void dl_server_start(struct sched_dl_entity *dl_se)
void dl_server_stop(struct sched_dl_entity *dl_se)
void dl_server_init(struct sched_dl_entity *dl_se, struct rq *rq,
struct sched_dl_entity *dl_se;
void __dl_server_attach_root(struct sched_dl_entity *dl_se, struct rq *rq)
int dl_server_apply_params(struct sched_dl_entity *dl_se, u64 runtime, u64 period, bool init)
static int __dl_server_attach_bw_locked(struct sched_dl_entity *dl_se,
static void __dl_server_detach_bw_locked(struct sched_dl_entity *dl_se,
int dl_server_attach_bw(struct sched_dl_entity *dl_se)
void dl_server_detach_bw(struct sched_dl_entity *dl_se)
int dl_server_swap_bw(struct sched_dl_entity *detach_se,
struct sched_dl_entity *attach_se)
struct sched_dl_entity *dl_se = &donor->dl;
struct sched_dl_entity *dl_se = container_of(timer,
struct sched_dl_entity,
static void init_dl_inactive_task_timer(struct sched_dl_entity *dl_se)
rb_entry((node), struct sched_dl_entity, rb_node)
struct sched_dl_entity *entry = __node_2_dle(leftmost);
void inc_dl_tasks(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
void dec_dl_tasks(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
__schedstats_from_dl_se(struct sched_dl_entity *dl_se)
update_stats_wait_start_dl(struct dl_rq *dl_rq, struct sched_dl_entity *dl_se)
update_stats_wait_end_dl(struct dl_rq *dl_rq, struct sched_dl_entity *dl_se)
update_stats_enqueue_sleeper_dl(struct dl_rq *dl_rq, struct sched_dl_entity *dl_se)
update_stats_enqueue_dl(struct dl_rq *dl_rq, struct sched_dl_entity *dl_se,
update_stats_dequeue_dl(struct dl_rq *dl_rq, struct sched_dl_entity *dl_se,
static void __enqueue_dl_entity(struct sched_dl_entity *dl_se)
static void __dequeue_dl_entity(struct sched_dl_entity *dl_se)
enqueue_dl_entity(struct sched_dl_entity *dl_se, int flags)
static void dequeue_dl_entity(struct sched_dl_entity *dl_se, int flags)
struct sched_dl_entity *dl_se = &p->dl;
void add_rq_bw(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
void sub_rq_bw(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
static void start_hrtick_dl(struct rq *rq, struct sched_dl_entity *dl_se)
static void start_hrtick_dl(struct rq *rq, struct sched_dl_entity *dl_se)
struct sched_dl_entity *dl_se = &p->dl;
void add_running_bw(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
static struct sched_dl_entity *pick_next_dl_entity(struct dl_rq *dl_rq)
struct sched_dl_entity *dl_se;
struct sched_dl_entity *dl_se = &p->dl;
void sub_running_bw(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
static void dl_rq_change_utilization(struct rq *rq, struct sched_dl_entity *dl_se, u64 new_bw)
void cancel_dl_timer(struct sched_dl_entity *dl_se, struct hrtimer *timer)
void cancel_replenish_timer(struct sched_dl_entity *dl_se)
void cancel_inactive_timer(struct sched_dl_entity *dl_se)
struct sched_dl_entity *dl_se;
static void __dl_clear_params(struct sched_dl_entity *dl_se);
struct sched_dl_entity *dl_se = &p->dl;
struct sched_dl_entity *dl_se = &p->dl;
static void __dl_clear_params(struct sched_dl_entity *dl_se)
void init_dl_entity(struct sched_dl_entity *dl_se)
struct sched_dl_entity *dl_se = &p->dl;
static void task_non_contending(struct sched_dl_entity *dl_se, bool dl_task)
static void task_contending(struct sched_dl_entity *dl_se, int flags)
static inline int is_leftmost(struct sched_dl_entity *dl_se, struct dl_rq *dl_rq)
static inline struct rq *rq_of_dl_se(struct sched_dl_entity *dl_se)
enqueue_dl_entity(struct sched_dl_entity *dl_se, int flags);
static void dequeue_dl_entity(struct sched_dl_entity *dl_se, int flags);
static inline void replenish_dl_new_period(struct sched_dl_entity *dl_se,
static inline void setup_new_dl_entity(struct sched_dl_entity *dl_se)
static inline struct dl_rq *dl_rq_of_se(struct sched_dl_entity *dl_se)
static int start_dl_timer(struct sched_dl_entity *dl_se);
static bool dl_entity_overflow(struct sched_dl_entity *dl_se, u64 t);
static void replenish_dl_entity(struct sched_dl_entity *dl_se)
static inline int on_dl_rq(struct sched_dl_entity *dl_se)
static inline struct sched_dl_entity *pi_of(struct sched_dl_entity *dl_se)
static inline bool is_dl_boosted(struct sched_dl_entity *dl_se)
static bool dl_entity_overflow(struct sched_dl_entity *dl_se, u64 t)
update_dl_revised_wakeup(struct sched_dl_entity *dl_se, struct rq *rq)
static inline struct sched_dl_entity *pi_of(struct sched_dl_entity *dl_se)
struct sched_dl_entity *dl_se = (struct sched_dl_entity *)server;
struct sched_dl_entity *dl_se = (struct sched_dl_entity *)server;
ext_server_pick_task(struct sched_dl_entity *dl_se, struct rq_flags *rf)
struct sched_dl_entity *dl_se = &rq->ext_server;
fair_server_pick_task(struct sched_dl_entity *dl_se, struct rq_flags *rf)
struct sched_dl_entity *dl_se = &rq->fair_server;
struct sched_dl_entity ext_server;
struct sched_dl_entity fair_server;
struct sched_dl_entity *dl_server;
struct sched_dl_entity *core_dl_server;
static inline bool dl_entity_is_special(const struct sched_dl_entity *dl_se)
extern void init_dl_entity(struct sched_dl_entity *dl_se);
static inline bool dl_entity_preempt(const struct sched_dl_entity *a,
const struct sched_dl_entity *b)
extern s64 dl_scaled_delta_exec(struct rq *rq, struct sched_dl_entity *dl_se, s64 delta_exec);
extern void dl_server_update_idle(struct sched_dl_entity *dl_se, s64 delta_exec);
extern void dl_server_update(struct sched_dl_entity *dl_se, s64 delta_exec);
extern void dl_server_start(struct sched_dl_entity *dl_se);
extern void dl_server_stop(struct sched_dl_entity *dl_se);
extern void dl_server_init(struct sched_dl_entity *dl_se, struct rq *rq,
extern void __dl_server_attach_root(struct sched_dl_entity *dl_se, struct rq *rq);
extern int dl_server_apply_params(struct sched_dl_entity *dl_se,
extern int dl_server_attach_bw(struct sched_dl_entity *dl_se);
extern void dl_server_detach_bw(struct sched_dl_entity *dl_se);
extern int dl_server_swap_bw(struct sched_dl_entity *detach_se,
struct sched_dl_entity *attach_se);
static inline bool dl_server_active(struct sched_dl_entity *dl_se)
struct sched_dl_entity *curr;
static inline struct sched_dl_entity *get_server(struct task_struct *tsk, u8 type)
static inline int get_entity_id(struct sched_dl_entity *dl_se, int cpu, u8 type)
static void handle_dl_replenish(void *data, struct sched_dl_entity *dl_se,
static void handle_dl_throttle(void *data, struct sched_dl_entity *dl_se,
static void handle_dl_server_stop(void *data, struct sched_dl_entity *dl_se,
struct sched_dl_entity *dl_se = get_server(next, type);
typedef struct sched_dl_entity *monitor_target;