Linux内核实时机制19 - RT调度器3 - 实时任务出入队
Linux内核实时机制19 - RT调度器3 - 实时任务出入队
- 1、enqueue_task_rt和dequeue_task_rt都会调用dequeue_rt_stack接口,
- 当请求的rt_se对应的是任务组时,会从顶部到请求的rt_se将调度实体出列。
- 2、任务添加到rt运行队列时,
- 如果存在多个任务可以分配给多个CPU,设置overload,用于任务的迁移。
1640 static inline void enqueue_task(struct rq *rq, struct task_struct *p, int flags)
1641 {
1642 if (!(flags & ENQUEUE_NOCLOCK))
1643 update_rq_clock(rq);
1644
1645 if (!(flags & ENQUEUE_RESTORE)) {
1646 sched_info_queued(rq, p);
1647 psi_enqueue(p, flags & ENQUEUE_WAKEUP);
1648 }
1649
1650 uclamp_rq_inc(rq, p);
1651 p->sched_class->enqueue_task(rq, p, flags);
1652 }